Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как убрать вывод meta name="keywords"?

Как убрать вывод meta name="keywords"?


     25.10.2019    keywords    Все вопросы » Общие вопросы    324

вопрос
Сейчас, если ключи не заполненные, то выводиться все равно метатег кейвордс, пустой:

Как убрать ввод этой конструкции?

Нашел вывод в engine.php
но как добавить условие, я хз :-)

Ответа пока нет


10 комментариев

dj-avtosh
PHP-developer

dj-avtosh - 25 октября 2019 12:51 -

Здравствуйте.


$metatags = <<<HTML
<meta charset="{$config['charset']}">
<title>{$metatags['title']}</title>
<meta name="description" content="{$metatags['description']}">
<meta name="keywords" content="{$metatags['keywords']}">{$disable_index}
<meta name="generator" content="DataLife Engine (http://dle-news.ru)">
{$s_meta}<link rel="search" type="application/opensearchdescription+xml" href="{$PHP_SELF}?do=opensearch" title="{$config['home_title']}">
HTML;


Заменить на



$metatags = <<<HTML
<meta charset="{$config['charset']}">
<title>{$metatags['title']}</title>
<meta name="description" content="{$metatags['description']}">
HTML;

if ( ! empty ( $metatags['keywords'] ) )
{
$metatags .= <<<HTML
<meta name="keywords" content="{$metatags['keywords']}">
HTML;
}

$metatags .= <<<HTML
{$disable_index}
<meta name="generator" content="DataLife Engine (http://dle-news.ru)">
{$s_meta}<link rel="search" type="application/opensearchdescription+xml" href="{$PHP_SELF}?do=opensearch" title="{$config['home_title']}">
HTML;



ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

hakypuhbiu
Юзер

hakypuhbiu - 6 июня 2020 05:36 -

Если делать по вашему, то выводится в просмотре кода страницы так :
<meta name="description" content="Тестовая новость">0
Что точно не все верно, какой то 0 лишний.

Вот так работает на 100% проверил ( не заполняет автоматом + не выводит.
$metatags = <<<HTML
<meta charset="{$config['charset']}">
<title>{$metatags['title']}</title>
<meta name="description" content="{$metatags['description']}">{$robots_meta}
<meta name="generator" content="DataLife Engine (http://dle-news.ru)">
{$s_meta}<link rel="search" type="application/opensearchdescription+xml" href="{$PHP_SELF}?do=opensearch" title="{$config['home_title']}">
HTML;


Просто удаляем из engine.php:
<meta name="keywords" content="{$metatags['keywords']}">

dj-avtosh
PHP-developer

dj-avtosh - 6 июня 2020 10:32 -


$safe_keywords = $metatags['keywords'];

$metatags = <<<HTML
<meta charset="{$config['charset']}">
<title>{$metatags['title']}</title>
<meta name="description" content="{$metatags['description']}">{$robots_meta}
<meta name="generator" content="DataLife Engine (http://dle-news.ru)">
{$s_meta}<link rel="search" type="application/opensearchdescription+xml" href="{$PHP_SELF}?do=opensearch" title="{$config['home_title']}">
HTML;

if( ! empty($safe_keywords) )
{
$metatags .= <<<HTML
<meta name="keywords" content="{$safe_keywords}">
HTML;
}


Как тебе такое, Илон Маск?

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

hakypuhbiu
Юзер

hakypuhbiu - 6 июня 2020 10:37 -

Зачем изобретать велосипед, когда у друга уже есть мопед. Илон Маск?

dj-avtosh
PHP-developer

dj-avtosh - 6 июня 2020 10:40 -

Так в вопросе написано - как не выводить, если не заполнено?

В Вашем случае вообще никогда не будет выводиться. В моем (последнем) должен не выводиться мета-тег лишь при пустом keywords.

Вариант выше не работал потому, что господа из dle сперва в $metatags заполняют данные как в массив, потом переопределяют его в строку.

Это настолько глупо, что я даже не заметил.

(с) Вот это поворот.

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

hakypuhbiu
Юзер

hakypuhbiu - 6 июня 2020 18:50 -

Согласен с тобой.

sashagit
Юзер

sashagit - 25 октября 2019 23:23 -

Что-то пошло не так.
Заменил код. Теперь ключи не выводятся вообще :-)
Кеш, очищал.

Побывал такую конструкцию
if ( ! empty ( $metatags['keywords'] ) )
{
$metatags .= <<<HTML
<meta name="keywords" content="{$metatags['keywords']}">
HTML;
}
else {
$metatags .= <<<HTML
<meta name="keywords" content="{$metatags['keywords']}">
HTML;
}


то выводит content только со скобкой, см ниже.
<meta name="keywords" content="<">

dj-avtosh
PHP-developer

dj-avtosh - 26 октября 2019 02:17 -

мой вариант должен работать на 100%, если не показывает, значит и keywords не заполнен.

Попробуйте отключить все плагины и подкинуть оригинальный engine.php

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

sashagit
Юзер

sashagit - 25 октября 2019 23:34 -

Побывал такую конструкцию
if ( ! empty ( $metatags['keywords'] ) )
{
$metatags .= <<<HTML
<meta name="keywords" content="{$metatags['keywords']}">
HTML;
}
else {
$metatags .= <<<HTML
<meta name="keywords" content="{$metatags['keywords']}">
HTML;
}


то выводит content только со скобкой, см ниже.
<meta name="keywords" content="<">

hakypuhbiu
Юзер

hakypuhbiu - 6 июня 2020 05:58 -


Вот плагин для DLE 14.0 Скачать: https://yadi.sk/d/UTb6EmhJpnllKQ

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх