Dwarf

Dwarf
Рейтинг
60
Регистрация
06.10.2004
Геннадий0:
Делаю многоязычный портал, пока только рус и англ.
Русский язык засунул в папку сайт.ру/ru/
Английский хочу сделать в корне т.е. сайт.ру/
Хочется установить php скрипт, который в случае захода русского пользователя на сайт (в корень), определял кодовую страницу бразуера и пересылал его в каталог /ru/, а пользователей с другими языками остальных в корне.
1. Вопрос, передают ли боты Яндекса язык при запросе и будут ли они также перенаправлены на /ru/ ?
2. Если да, то не будет ли это считаться "клоакингом"?
3. Может есть другие более эффективные способы разделения языкового трафика?

Заранее благодарен за любые комментарии :p

Вот заголовки индексирующего бота Яндекса

Accept: text/html, application/pdf;q=0.1, application/rtf;q=0.1, text/rtf;q=0.1, application/msword;q=0.1, application/x-shockwave-flash;q=0.1, application/vnd.ms-excel;q=0.1, application/vnd.ms-powerpoint;q=0.1

Accept-Language: ru, uk, be, en, *;q=0.01
Connection: Keep-Alive
Host: site.ru
User-Agent: Yandex/1.01.001 (compatible; Win16; I)
If-Modified-Since: Thu, 21 Jul 2005 23:30:06 GMT
From: webadmin@yandex.ru

Если по какому-то урлу бот получит редирект (301, 302), то, в отличие от браузера, он вполне может пойти туда не сразу, а записать новый урл в базу и пойти в следующий раз.

Думается, что лучше всего использовать вот это:

http://httpd.apache.org/docs/1.3/content-negotiation.html

Клоакингом это не является, поскольку и бот, и бродилка с хедером Accept-language: ru получат одинаковый контент. То же самое для Accept-language: en.

mad_dk:
Да и если делать карту сайта, то как ее сделать если страниц сейчас около 5000 и будет еще больше. Насколько я знаю что Гугл неособо любит когда на одной странице такой порядок ссылок. Может и забанить стрнаицу. Если разбивать на несколько остраниц, то возможно и смысла тогда нету, ее делать, тогда получается ссылки глубоко от главной страницы?

Google Sitemaps вам в руки.

http://www.google.com/webmasters/sitemaps/siteoverview?hl=ru

nickspring:
Dwarf, пример верный, но с expression CSS не пройдет валидацию. Можно этого избежать, если выставить таймер в JS и по таймеру проверять и устанавливать нужную ширину. А так это конечно очередной косяк IE.

А вы попробуйте, попробуйте :) Там не зря expression в условный комментарий (conditional comment) вставлен :)

Varkolak:
и еще вопрос как можно обмануть ie, чтобы он как то понял такую вещь "min-width:800px;"? и еще один вопрос как заставить растягивать вниз страницу, в таблицах разобрался, а в css уже это не работает.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
<head>
<title>test</title>
<style type="text/css">
/* <![CDATA[ */
html, body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
background: #fff;
color: #000;
}
h1 {
margin: 0;
}
#content {
height: 100%;
min-height: 100%;
min-width: 800px;
background: #ccc;
}
.padding {
padding: 10px;
}
/* ]]> */
</style>
<!--[if gte IE 5]>
<style type="text/css">
/* <![CDATA[ */
#content {
width: expression((documentElement.clientWidth||document.body.clientWidth) < 800 ? '800px' : '100%');
}
/* ]]> */
</style>
<![endif]-->
</head>
<body>
<div id="content">
<div class="padding">
<h1>Тема: Спиральный лазер глазами современников</h1>
<p>Сверхпроводник, по данным астрономических наблюдений, сжимает квантово-механический вихрь вне зависимости от предсказаний самосогласованной теоретической модели явления. В слабопеременных полях (при флуктуациях на уровне единиц процентов) лазер синфазно выталкивает спиральный гамма-квант, тем самым открывая возможность цепочки квантовых превращений. В литературе неоднократно описано, как сверхновая вращает элементарный гидродинамический удар, поскольку любое другое поведение нарушало бы изотропность пространства. Возмущение плотности непрерывно.</p>
</div>
</div>
</body>
</html>

Результаты: 1 - 100 из приблизительно 767 из домена sunray.com.ua

http://www.google.com/search?q=site:sunray.com.ua&num=100&hl=ru&filter=0

Указание прокси-серверу не кэшировать документ.

aleks:
Dwarf, а в какой файл это вешается? у иис не .хтаксес ведь.. ;)

Можно в global.asa положить:

<script language="vbscript" runat="server">

Sub Session_OnStart
Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", "http://www.site.ru/"
' заканчиваем сессию для того, чтобы при следующем запросе
' также сработало Session_OnStart
Session.Abandon
End Sub
</script>

но учтите, что событие Session_OnStart будет вызываться только при запросе страниц, обрабатываемых asp.dll (App Mappings) - т.е. .asp по умолчанию. Для .htm, например, редирект не сработает.

Еще можно воспользоваться ISAPI-фильтром, например http://www.isapirewrite.com/ - аналог апачевского mod_rewrite.


Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", "http://www.site.ru"

Все новое - хорошо забытое старое :) Обратите внимание на год и авторов:


6.1 Manipulation by Commercial Interests
These types of personalized PageRanks are virtually immune to manipulation by commercial interests. For a page to get a high PageRank, it must convince an important page, or a lot of non-important pages to link to it. At worst, you can have manipulation in the form of buying advertisements(links) on important sites. But, this seems well under control since it costs money.

L. Page, S. Brin, R. Motwani, and T. Winograd. The pagerank citation ranking: Bring order to the web. Technical report, Stanford University, 1998.

Добавил три штуки. Спасибо :)

Всего: 499