Амперсанд в ссылках
 

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

 

Разберем специальные символы в ссылках на примере амперсанда.

 

При генерировании динамической ссылки, переменные указываются через разделитель амперсанд (&). Но он является зарезервированным символом HTML для обозначения мнемоник. Мнемоники – это специальные символы типа ©, ±, ¶ и другие. При написании таких символов используется специальный код, который обязательно начинается с амперсанда. Соответственно, сам значок амперсанда так же имеет свой код (&). В ссылках необходимо писать именно код, а не сам значок, иначе могут возникнуть проблемы.

 

А именно:

 - сайт выпадает из бирж ссылок;

 - индексируются фальшивые дубли страниц;

 - невозможность управления страницами в панелях веб-мастеров поисковых систем;

 - провал валидации;

 - многое другое.

 

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

 

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

 

Как это сделать?

 

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

 

Чтоб изменить все ссылки на статичные, если сайт находится под управлением Apache, стоит воспользоваться Mod Rewrite Rule. Для поисковых систем ссылка будет казаться статичной, а на деле останется динамичной. Помогает при продвижении.

 

Если сайт под PHP-Fusion, в файле maincore.php найти часть


// Clean URL Function, prevents entities in server globals

function cleanurl($url) {

$bad_entities = array(«&», «\»", «‘», ‘\»‘, «\’», «<», «>», «(«, «», «*»;

$safe_entities = array(«& amp;», «», «», «», «», «», «», «», «», «»;

$url = str_replace($bad_entities, $safe_entities, $url);

return $url;


и удостовериться, что правило прописано для амперсанда. Если нет – дописать.

 

Средствами htaccess:


RewriteEngine On

RewriteCond %{QUERY_STRING} (.*)&amp;(.*)

RewriteRule .* /index.php?%1&%2 [N,R=301]

 

 

Список статей

Абсолютные, статичные и динамичные ссылки

Комментарии
Комментарии Комментировать
 
Комментировать
Оставить заявку