Как использовать noindex, когда мой ‹head› включен на все страницы с включенным php?

Мне нужно использовать <meta name="robots" content="noindex"> на моей "странице благодарности".

В инструкциях Google говорится, что мне нужно поместить его между тегами <head>, но мои теги заголовка используются совместно (включая php) из одного файла для всех страниц, даже для тех страниц, которые я хочу проиндексировать.

Какова правильная практика для этого?

Вот как я включаю его на все страницы (основной метод), теги <head> находятся внутри файла head.php:

<?php include 'head.php';?>

person PeterVonSkala    schedule 19.09.2018    source источник
comment
в head.php проверьте, на какой странице вы находитесь, и добавьте ее, если на странице «Спасибо»...   -  person Dieter Kräutl    schedule 19.09.2018


Ответы (1)


Что я обычно делаю с общими заголовками, так это то, что я объявляю некоторые переменные PHP перед включением файла заголовка. Они могут быть уникальными для каждой отдельной страницы, поэтому мета-имена и т. д. могут быть изменены в зависимости от страницы.

Пример:

<?php
$metaName='robots';
$metaContent='noindex';    

include_once('head.php');
?>

Затем в вашем головном файле:

<head>
    <meta name="<?php echo $metaName; ?>" content="<?php echo $metaContent; ?>">

    //What else you may have
</head>

Затем, в зависимости от того, что вы хотите, вы всегда можете реструктурировать свою логику, добавить и использовать больше переменных и т. д., но этого должно быть более чем достаточно, чтобы дать вам общее представление.

Если вы не хотите устанавливать переменные $metaName и $metaContent на каждой странице, вы можете задать им некоторые значения по умолчанию в файле head.

Пример:

<?php
if(!$metaName) {
    $metaName='default value';
}

if(!$metaContent) {
    $metaContent='default value';
}
?>
person Martin    schedule 19.09.2018
comment
Спасибо. У меня есть еще один вопрос. Означает ли это, что теперь я должен установить эти две переменные на каждой странице? Потому что теперь этот файл head.php будет вызывать их? Например: в моем index.php, который я хочу проиндексировать, мне нужно установить $metaContent='index'; или можно просто оставить без этой переменной и вреда не будет? Нужно ли устанавливать эти 2 переменные только на странице благодарности? - person PeterVonSkala; 20.09.2018
comment
Теоретически да, но вы можете просто добавить к ним значения по умолчанию, если хотите, в файле заголовка. Я отредактирую свой вопрос, чтобы включить это. - person Martin; 20.09.2018
comment
Я установил значения по умолчанию в головном файле, но теперь получаю: Неопределенная переменная: метаназвание (и метаконтент) в (головном файле)... - person PeterVonSkala; 22.09.2018
comment
Вы включаете его правильно? Вам нужны переменные, определенные ДО включения заголовка. Затем в своей голове вы проверяете, существуют они или нет, и если их нет, вы устанавливаете их значение по умолчанию, как я сделал в примере. Убедитесь, что у вас нет опечаток и т. д. Если вы все еще получаете сообщение об ошибке, отредактируйте код в своем вопросе, чтобы я мог его посмотреть @PeterVonScala - person Martin; 23.09.2018