Как грамотно закрыть ссылки от индексации

123
alexspb
На сайте с 14.11.2005
Offline
187
#11

Good, надежнее все-таки будет ява скриптом прописать, причем саму ссылку можно порезать (для надежности): document.write('<a href="http://' + 'site' + '.ru">текст</a>');

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#12

Good, насколько я понял - PHP на хостинге есть.

mod_rewrite включить можно?

Если да, то предлагаю следующую схему:

1. Обрабатываете адрес.

2. Пересылаете его через mod_rewrite на свой PHP-скрипт, параметром которому передаёте вызванный адрес.

3. В php-скрипте считываете в переменную страницу с указанного адреса.

4. Вырезаете с помощью preg_replace ненужные куски.

5. Выводите страницу.

6. Радуетесь результату.

• Контекстные ссылки с внутренних страниц навсегда (/ru/forum/370882) • Качественные сайты для заработка на контекстной рекламе и ссылках
Каширин
На сайте с 03.01.2004
Offline
1018
#13
СКОРПИОН:
Good, насколько я понял - PHP на хостинге есть.
mod_rewrite включить можно?

Если да, то предлагаю следующую схему:
1. Обрабатываете адрес.
2. Пересылаете его через mod_rewrite на свой PHP-скрипт, параметром которому передаёте вызванный адрес.
3. В php-скрипте считываете в переменную страницу с указанного адреса.
4. Вырезаете с помощью preg_replace ненужные куски.
5. Выводите страницу.
6. Радуетесь результату.

Может проще в консерватории что-то поменять? Это же ... с пляской.

Что - такой уж скрипт великомазосный, что надо им пользоваться? Ну ладно-ладно :) Я так понимаю, что изменить ссылки не представляется возможным.

Рекомендую просто забить на них.

[Удален]
#14

Можно сделать остроумно типа

<a href="#" onMouseOver="this.href='http:\/\/'+this.innerHTML+'\/'">www.yandex.ru</a>

Так-же можно сделать так.

<a href="#" id="link1">Yandex</a>

<a href="#" id="link2">Google</a>
<script type="text/javascript" src="links.js"></script>

// links.js

var link1 = document.getElementById('link1');
link1.href='http:\/\/www.yandex.ru\/';
var link2 = document.getElementById('link2');
link2.href='http:\/\/www.google.com\/';

Но это уже точно параноя...

[Удален]
#15

А, можно так?

<noindex><nofollow> ссылка </nofollow></noindex>

Будет работать?

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#16

XTR, тэг "nofollow" в таком контексте не используется.

[Удален]
#17

Он вроде бы только в мета-теге прописывается? Значит, noindex будет достаточно?

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#18
XTR:
Он вроде бы только в мета-теге прописывается? Значит, noindex будет достаточно?

Он прописывается так:

<a href="www.чей-то_сайт.ru" rel="nofollow">Название</a>

[Удален]
#19

Я понял, надо будет еще поштудировать как следует HTML :)

Задача, конечно, несколько усложняется, ибо если noindex прописать легко, то модифицировать ссылки, приходящие по RSS - это уже скрипт нужно немного переделывать.

[Удален]
#20
XTR:
Он вроде бы только в мета-теге прописывается? Значит, noindex будет достаточно?

Для Яндекса - достаточно. Индексировать не будет (не должен)

Для валидаторов HTML (например w3.org) - тоже достаточно - начнут ругаться на нестандартные теги.

Остальным поисковикам - фиолетово.

Если уж так "заело":

1. "расковыряйте" Вы этот zend и исправьте исходники

2. Вариант, предложенный СКОРПИОН. В различных интерпретациях, например, пишете модуль index.php, в котором делаете типа:


...
ob_start(); // Включить буферизацию вывода
require_once(old_index.php); // Вызываете Ваш старый модуль страницы, который выдает эти ссылки. Он выведет всё в буфер
$page = ob_get_contents(); // Получаете содержимое буфера - Вашу страницу в HTML
ob_clean(); // Очищаете буфер
ob_end_flush(); // Выключаете буферизацию

$newpage = str_replace(..., $page); // вырезаете на странице всё лишнее
// или preg_match_all(...) если надо более гибко вырезать

echo $newpage; // Отдаёте отредактированную страницу

А можно более красиво:


...
ob_start("ReplaceHREF"); // Включить буферизацию вывода и его обработку функцией ReplaceHREF()
require_once(old_index.php); // Вызываете Ваш старый модуль страницы,
ob_end_flush(); // Отдаёте буфер, обработанный функцией ReplaceHREF()

И пишете php-функцию ReplaceHREF($str), в которой ставите те же str_replace(..., $str) или preg_math_all(), то есть обрабатываете страницу перед выводом, как Вам надо.

XTR:
Я понял, надо будет еще поштудировать как следует HTML :)
Задача, конечно, несколько усложняется, ибо если noindex прописать легко, то модифицировать ссылки, приходящие по RSS - это уже скрипт нужно немного переделывать.

Наверное, не только HTML, а ещё PHP/PERL/CGI/ServerJavaScript - смотря на чём Вы собираетесь "модифицировать" ссылки на странице:)

Только надо "модифицировать" на стороне сервера, например Клиентский JavaScript не поможет - поисковики его не "поймут", но в броузере клиента всё будет "пучком" ;)

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий