bondarev.pp.ru

bondarev.pp.ru
Рейтинг
202
Регистрация
29.09.2005

mediatime, у всех прошу прощения за дезу - действительно, заблуждался. :)

Все по плюсу за поправку.

Лучше сделать. Не из-за аргументов начальства (они не совсем соответствуют действительности), а из-за ссылок, которые будут естественным образом появляться. Пусть лучше они все ведут на один сайт, чем на два (лучше быть на 5 месте, чем на 11 и 15ом).

Если уже есть ссылки, ведущие на "неглавное" зеркало, сначала сделайте robots.txt с директивой Host: и дождитесь склеивания зеркалов (у Гугла это происходит, по моим наблюдениям, довольно медленно).

i73, можно сделать так:

if (substr($link, 0, 4) == 'www.') {

$link = substr($link, 4, strlen($link) - 4);

}

А потом уже ваш запрос к БД как есть.

Поиск повторения домена будет работать, не зависимо от того, ввел ли пользователь www - сверка будет по-любому проводиться без www.

i73:
если я ошибаюсь в простоте данной конструкции... подскажите

Можно и так - без разницы. Код даже проще получается. Но придется, помимо поля domen иметь еще поле, скажем URL, где будет храниться адрес сайта так, как его ввел пользователь. Оно и должно использоваться при сборке ссылки. А domen - только для проверки повторения.

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

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

SELECT * FROM links WHERE URL LIKE 'http://{$host}/%'

Что вам мешает подготовить 2 домена (с www и без) в переменных и сделать:

SELECT * FROM links WHERE URL LIKE 'http://{$host_www}/%' OR URL LIKE 'http://{$host_nowww}/%'

? Вы съэкономили себе минуту на разработке движка ценой некоторых проблем для пользователей. По-моему, оно того не стоило.

Вот еще в помощь:

<?

$url = parse_url($_POST['url']);

if (strtolower(substr($url['host'], 0, 4)) == 'www.') {

$host_www = $url['host'];

$host_nowww = substr($url['host'], 4, strlen($url['host']) - 4);

} else {

$host_nowww = $url['host'];

$host_www = 'www.' . $url['host'];

}

?>

Ушло 30 секунд :)

smscat, было бы интересно узнать ваши аргументы в пользу того минуса. :)

Насчет дублей: с таким .htaccess при каждом запросе *.html будет отдаваться файл *.shtml. О существовании *.shtml файлов ПС не узнают, поскольку на них НЕТ ни одной ссылки (если, разумеется, их не ставить).

Насчет передачи PR по 301 редиректу: ОН НЕ ПЕРЕДАЕТСЯ!

epr:
Ну есть же алгоритм дублей страниц, который может склеить такие одинаковые страницы в пределах одного сайта

Он далек от совершенства. Дубли могут долго висеть в выдаче как две разные страницы...

smscat, Вы дважды заблуждаетесь! :)

smscat:
будут дубли

Не будет.

smscat:
а редиректы 301 передадут PR новым страницам

Не передадут

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

А вот сокращение количества страниц, имхо, либо уменьшит PR главной, либо ничего не изменит.

Vitaly1973, разумеется, можно. В чем-то это будет даже правильнее: пользователь будет приходить из серпов прямо на ту страницу, которая ему нужна.

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

smscat, это не сбережет ссылки, с точки зрения SEO. Хотя если есть ссылки, дающие траффик, они будут работать.

Есть еще такой вариант:

------------

RewriteEngine On

RewriteRule (.*)\.htm$ $1.shtml

------------

Всего: 3570