Drupal, Бегун автоконтекст и Google Adsense
В последнее время мне все больше и больше начинает нравится Drupal (CMS, под которой работает этот блог). Один из очевидных плюсов - отсутствие спама в комментах, возможно это из-за того что этот блог не особо популярный, хотя думаю скорее всего из-за того что блогов на wordpress намного больше поэтому и спамилки все пишут для Wordpress. К примеру недавно я зашел на свой старый блог, который не просматривал месяца два, в комментах там около 500 сообщений, почти все они спам (Akismet заблокировал наверно еще столько же если не больше).
На некоторых своих сайтах я тоже использую Drupal, и как я заметил в установленной по умолчанию системе есть несколько недостатков, из-за которых некоторые страницы могут вылететь из индекса поисковых систем, к примеру если открыть дефолтный файл robots.txt, то вроде бы кажется что все что нужно там заблокировано, однако это не так. По мере индексации сайта в индексе начинает появляться все больше страниц, которые там быть не должны, например добавление комментария, информация о пользователе и другие. Вот мои небольшие дополнения к файлу robots.txt который идет с Drupal:
Disallow: /tagadelic Disallow: /comment/reply Disallow: /taxonomy/
Первая и последняя строчки не обязательны, в первой указывается что не надо индексировать все что создал модуль Tagadelic, последняя запрещает индексировать все что создано в taxonomy. Дело в том что я использую модуль Pathauto, который позволяет создавать урлы, какие вам хочется. К примеру http://website.dom/pages/page-1.html вместо http://websites.dom/node/1 который создает Drupal по умолчанию
После того как проблема с дублированным контентом в Drupal была решена, я занялся установкой кода Бегуна на сайтах, с обычным кодом проблем не возникло, основную проблему доставил Бегун гиперконтекст, я написал письмо с просьбой включить его для одного из сайтов, и получил такой ответ:
Гиперконтекст может быть размещен только на страницах со статьями и новостями.
Формат для ГиперКонтекста должен быть такой:
<div id="hypercontext"> <index> Здесь находиться статья с подсвечиваемой информацией или новость. </index> </div>
Т.е. надо поставить div и
. Без этого работать не будет.
Напишите, когда разметите контент.
Собственно код я разместил как просили, подправив файл themes/
<?php
<div class="content">
<?php
$uri = $_SERVER['REQUEST_URI'];
if (strstr($uri, '/node/')) {
// Begun hypercontext
print '<div id="hypercontext">';
// Google Adsense
print '<span style="float:left"><p><script type="text/javascript"><!--
google_ad_client = "pub-XXXXXXXXXXXXX";
/* 300x250, */
google_ad_slot = "XXXXXXXX";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</p>
</span>';
}
?>
<index>
<?php print $content; ?>
</index>
<?php if (strstr($uri, '/node/')) {
print '</div>';
}
?>
Изначально код был таким
<?php
<div class="content">
<?php print $content; ?>
</div>
?>$uri = $_SERVER['REQUEST_URI']; - это запрошенный урл, if (strstr($uri, '/node/')) - проверяем, похож ли этот урл на /node, по умолчанию Drupal сохраняет страницы с путем типа http://website.dom/node/1 (где 1 - id статьи).
Комментарии