Блог про интернет-маркетинг для бизнеса

SEO

Продвинутое использование rel=”canonical”

15
10
0
5

Речь в статье пойдет о том, как использовать rel=”canonical” не только для Html файлов, но и для других типов файлов, таких как, например, pdf. Кстати Google больше не рекомендует использовать robots.txt для ограничения индексации сайта, а рекомендует помечать дублирующийся контент с помощью rel=”canonical”:Использование rel="canonical" и robots.txt

Источник: http://support.google.com/webmasters/bin/answer.py?hl=ru&answer=66359

При написании аудита сайта, если имеет место дублирование контента страниц сайта в файлах формата pdf, doc и т.п., я рекомендую использовать HTTP-заголовок rel=”canonical” вместо того, чтобы закрывать данные файлы в robots.txt. Сейчас вебмастера используют в основном rel=”canonical” для html страниц. Однако вот список типов файлов, которые индексирует поисковая система Google:

  • TeX/LaTeX (.tex)
  • Текст (.txt, .text и другие расширения файлов)
  • Adobe Flash (.swf)
  • Adobe PDF (.pdf)
  • Adobe PostScript (.ps)
  • Autodesk Design Web Format (.dwf)
  • Google Планета Земля (.kml, .kmz)
  • GPS eXchange Format (.gpx)
  • Hancom Hanword (.hwp)
  • HTML (.htm, .html и другие расширения файлов)
  • Microsoft Excel (.xls, .xlsx)
  • Microsoft PowerPoint (.ppt, .pptx)
  • Microsoft Word (.doc, .docx)
  • Презентация OpenOffice (.odp)
  • Электронная таблица OpenOffice (.ods)
  • Текст OpenOffice (.odt)
  • Расширенный текстовый формат (.rtf, .wri)
  • Масштабируемая векторная графика (.svg)

В том числе исходный код стандартных языков программирования:

  • Исходный код Basic (.bas)
  • Исходный код C/C++ (.c, .cc, .cpp, .cxx, .h, .hpp)
  • Исходный код C# (.cs)
  • Исходный код Java (.java)
  • Исходный код Perl (.pl)
  • Исходный код Python (.py)
  • Язык разметки для беспроводных устройств (.wml, .wap)
  • XML (.xml)

Для более качественной оптимизации сайтов вебмастерам необходимо научиться использовать HTTP-заголовок rel=”canonical”. Далее будут рассмотрены несколько возможных вариантов передачи  rel=”canonical” через HTTP-заголовки.

HTTP-заголовки с использованием php (для html файлов)

HTTP-заголовок rel=”canonical” можно легко передать с использованием php. Для этого необходимо разместить в документе следующий код: Http-заголовок rel="canonical" с помощью php

HTTP-заголовок с помощью .htaccess (для любых типов файлов)

HTTP-заголовки rel=”canonical” можно легко передать для любых типов файлов с помощью файла .htaccess. Код передачи HTTP-заголовка rel=”canonical”: HTTP-заголовок rel="canonical" с помощью .htaccess При написании имени файла можно использовать следующие спецсимволы: ? - любой символ * - любая последовательность символов. Также можно использовать полноценные регулярные выражения, но перед указанием регулярного выражения необходимо поставить символ ~: Регулярные выражения директиве <files> Подробнее - httpd.apache.org

HTTP-заголовок rel="canonical" для любых файлов с помощью PHP

Размещаем в .htaccess следующую строку:

RewriteRule ^(.+)\.pdf /pdf.php?file=$1 [L]

В данном примере речь будет идти о pdf файлах.  Модифицировать код для других типов файлов не составит труда. Создаем файл pdf.php со следующим кодом:

$path = $_SERVER['DOCUMENT_ROOT'] + $_GET['file'] . '.pdf';
if(file_exists($path)) {
header('Content-Type: application/pdf');
header('Link: <http://www.yoursite.com/>; rel=”canonical”');
readfile($path);
}
else {
header('HTTP/1.0 404 Not Found');
include($_SERVER['DOCUMENT_ROOT'] . '404.php');
}
В результате, если pdf файл существует, то будет отдаваться заголовок rel=”canonical”, если нет, то отдаваться 404 страница.

Как проверять HTTP-заголовки сервера?

Лучше всего это делать с помощью консоли браузера Chrome:
При написании статьи использовался материал Moz.
Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.

Комментарии (4)

  1. 0
    2 года назад

    подскажите пожалуйста,
    и

    это одно и тоже?

    • 0
      Гость
      2 года назад

      Порядок атрибутов в HTML тегах не играет разницы. Главное, чтобы ошибок в них не было.

      • 0
        Alex Danilin
        2 года назад

        заметила просто на всех сайтах, включая гугл.суппорт говорится каноникал в начале.
        а вот опенкарт добавляет наоборот)

  2. 0
    5 лет назад

    Нет-нет, да находится что-то действительно нужное в работе. Спасибо!

Чтобы оставить комментарий, необходимо авторизироваться

Подписаться

на самую полезную рассылку по интернет-маркетингу

Самое

обсуждаемое популярное читаемое