Поведение не прямой ссылки на страницу на веб-сайте


Существует механизм, который я планирую внедрить на одном из своих веб-сайтов.

Допустим, ссылки на моем веб-сайте напрямую не ссылаются на страницу, на которую они должны, но все они ссылаются на одну страницу PHP и отправляют свои уникальные параметры, и эта одна страница PHP на основе этих параметров выполняет некоторую обработку в БД, а затем перенаправляет на фактические страницы, на которые они должны были ссылаться, используя header("Location:$_GET['page_name']");...

  • Будет ли этот механизм не дружественная поисковая система или это нормально?
  • Приведет ли этот механизм к недостаткам в Google PageRank?
Author: Zistoloen, 2010-11-23

4 answers

Хм, когда вы это делаете, возникает несколько проблем.

Прежде всего, реальный URL-адрес страницы, на которую осуществляется переход, отсутствует на исходной странице. Имея page.php?location=Home (где page.php обрабатывает ваш запрос и перенаправляет на location) для всех ваших ссылок заставляет людей видеть только page.php url-адрес. Я не уверен, сколько людей на самом деле смотрят, какой URL они посещают, но это может сбить с толку, если люди увидят, что все ссылки указывают на одну и ту же страницу. Некоторые веб-сайты делают это для исходящих ссылок, и это меня всегда очень раздражает, что я не могу увидеть пункт назначения ссылки с одного взгляда.

Конечно, CMS, такие как Joomla и MediaWiki, делают это по умолчанию (index.php?id=1), но общепризнано, что чистые URL-адреса без параметров имеют как лучшее удобство использования, так и лучшую индексацию Google.

Что касается поисковых систем, то, конечно, есть заголовок PHP, который может помочь. Вы можете просто использовать код перенаправления 301 в своем заголовке перед отправкой оно: http://phpprogrammingguide.blogspot.com/2005/11/php-header-301-redirect-moved.html

Таким образом, поисковые системы будут ассоциировать page.php?location=Home с /home/, то же самое для всех других страниц. Вы даже можете зайти так далеко, чтобы установить инструменты Google для веб-мастеров и вручную указать, какие из параметров следует игнорировать, а какие нет (location, очевидно, не следует игнорировать, поскольку это позволяет Google различать различные внутренние ссылки).

Кроме того, добавление rel="канонический" на страницах приведет помогите поисковым системам распознать, какой URL-адрес должен быть каким. Даже если они окажутся на странице с ?location=x, имеющей канонический URL-адрес с /x/, убедитесь, что правильный URL-адрес проиндексирован.

Еще одной проблемой будет кнопка "Назад" браузера. Это наиболее часто используемая кнопка в Интернете, и она не будет работать на вашем сайте, если вы используете этот скрипт. Нажатие кнопки "Назад" приведет пользователя к page.php страницу и просто перенаправлять их снова вперед, вызывая сильное раздражение со стороны пользователя и неправильную статистику на на твоей стороне.

И последнее, действительно очень важно не иметь page.php перерыв. Иногда просто случается, что ссылка или страница ломаются по каким-либо причинам. Одна неработающая страница на вашем сайте раздражает, но если page.php разорвать ВСЕ внутренние связи не работают. Вы могли бы предотвратить это, позволив сценарию отправить вам электронное письмо, как только кто-то обнаружит ошибку или что-то еще, но просто будьте осторожны.

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

 0
Author: Stephan Muller, 2010-12-03 13:09:44

Если вы используете перенаправление 301, это будет нормально. Вся процедура выглядит немного странно. Почему бы вам просто не использовать mod_rewrite, чтобы иметь красивый URL-адрес и по-прежнему отображать его с помощью одного PHP-скрипта?

 1
Author: Ilian Iliev, 2013-12-10 19:14:55

Делайте то, что вы делаете сейчас, просто добавьте статические ссылки на другие ваши страницы где-нибудь на странице (если их не слишком много). Проблема решена. ;)

 0
Author: john, 2010-12-02 21:47:58

Я понимаю вашу проблему. Возможно, вам захочется отслеживать пользователей, которые переходят по определенной ссылке, или сколько ваших пользователей переходит к определенному партнеру, или что-то в этом роде.

Я действительно не могу сказать, какие должны быть проблемы с индексацией. Первое и уникальное, что пришло мне в голову сейчас, это то, что сок вашей страницы не передается на целевые страницы, поэтому поисковые системы будут рассматривать эти ссылки как внутренние ссылки.

Но я бы предложил решение, которое должно хорошо работать в большинстве случаев. Используйте AJAX для этих ссылок. Используйте атрибут rel в этих якорях, например:

<a rel="external" href="http:yourpartner.tld">See more here</a>

Отфильтруйте ссылки, у которых есть rel="external", и прикрепите к ним событие. При нажатии он выполнит вызов ajax с их параметром href, который вы запросите. Функция AJAX просто должна возвращать значение true или false, чтобы позволить пользователям действительно перенаправляться на их страницу или предотвращать перенаправление в случае ошибки.

 0
Author: Davis Peixoto, 2013-12-10 19:43:36