All articles, tagged with “seo”

Ещё один велосипед — блогодвижок djaba

Неделю назад меня торкнуло вести блог переводов англоязычных публикаций на SEO тему. В лучших традициях велосипедостроения я решил написать для блога новый движок. На Django, конечно. И написал же :-) Скорее всего, я даже на него веб-мозги переведу в будущем, когда фунционал до концидии догоню. Сейчас блог работает на byteflow, но я его немного побаиваюсь. Какой-то он большой — это меня угнетает :-)

Сайт проекта: http://bitbucket.org/lorien/djaba/

Блог умеет на данный момент:

  • markdown разметка постов и комментариев
  • авторазметка plain text ссылок
  • запоминание персональных данных комментаторов в форме комментирования. Комментирование доступно пока только в anonymous-режиме с указанием имени, емайла, сайта.
  • автопинг блог-директорий и поисковиков при написании нового поста.
  • тэги
  • <—more—> фича
  • генерация sitemap
  • фиды постов и комментариев

Основная идея движка: простой и удобный способ делиться информацией с другими людьми. Будет сделан уклон на средства продвижения блога. Например, уже сейчас работает пинг директорий и сайтмап.

Вот так всё простенько :-) Подивиться на велосипед можно на сайте работающего блога переводов статей о поисковой оптимизации сайтов

Yandex & django sitemap

Сегодня столкнулся с тем, что yandex выдавал ошибку, когда я пытался скормить ему sitemap.xml через http://webmaster.yandex.ru/. Причина отказа, как было установлено, долгая генерация файла с картой сайта. Проблема решается просто: нужно кэшировать генерируемый sitemap: предварительно записать его в кэш и затем уже скармливать яндексу.

Если на сайте кэширования ранее не было вообще, то самый простой способ настроить кэш — это использовать файловый backend.

Пишем в settings.py:

CACHE_BACKEND = 'file:///tmp/domain.com'

В файле urls.py заворачиваем генерацию sitemap в cache_page декоратор

from django.views.decorators.cache import cache_page
from django.contrib.sitemaps.views import sitemap

from project.sitemaps import ProjectSitemap

sitemaps = {
    'site': ProjectSitemap,
}

urlpatterns = patterns('',
    (r'^sitemap.xml$', cache_page(sitemap, 60 * 30), {'sitemaps': sitemaps}),

linkfeed.ru & python

Захотелось мне пощупать linkfeed.ru биржу ссылок. Поэтому пришлось писать python-адаптер. Как оказалось биржа вполне себе прогрессивная — возможно забирать базу данных в виде XML. Даже какой-то SOAP API есть для оптимизаторских контор.

Если кому нужно, адаптер можно взять тут: hg.pydev.ru/linkfeed. Код пока очень сырой — я его минут 10 назад написал :-) Как пользоваться написано в README

Парсим yahoo красиво

На днях обнаружил неплохую альтернативу для поиска из скриптов. Это использование Yahoo поиска через BOSS API.

Основные плюсы:

  • Цитирую: BOSS offers developers unlimited daily queries, though Yahoo! reserves the right to limit unintended usage, such as automated querying by bots. In the near future, we will be introducing a fee structure for BOSS. For more infomation, please see the Fee Structure section below.Для работы с API можно использовать python-библиотеку
  • Yahoo сама сделала python библиотеку для работы с API

Как поставить библиотеку, а также сделать простые запросы хорошо описано тут. У меня возникли трудности с тем, что пакет util не копировался куда нужно. Я поступил просто — посмотрел, что util используется только в пакете yos.yql и скопировал его туда ручками.

Простенький пример:

>>> from yos.boss import ysearch
>>> from yos.yql import db
>>> data = ysearch.search("Django",count=10)
>>> table = db.create(data=data)
>>> table.rows
[
  { u'dispurl': u'www.<b>djangoproject.com</b>',
    u'title': u'<b>Django</b> | The Web framework for perfectionists with deadlines',
    u'url': u'http://www.djangoproject.com/', u'abstract': u'<b>Django</b> is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. <b>...</b> <b>Django</b> focuses on automating as much as possible <b>...</b>',
    u'clickurl': u'http://www.djangoproject.com/',
    u'date': u'2008/06/19',
    u'size': u'8524'
  }, 
  "would display 9 more results, but removed to save space"
]

Python библиотека для работы с sape.ru

Знаю, знаю, я уже два раза писал, что сделал эту библиотеку. Этот раз, надеюсь, последний :-)

На этот раз я решил сделать порт максимально приближенным к PHP версии: та же структура кода, те же имена переменных, те же форматы данных. Т.к. PHP версия забирает данные с сервера в том виде, как их сериализует PHP, то пришлось заюзать вот эту штуку для распаковки данных.

 

Клиент для брокера ссылок mainlink.ru

На днях сделал клиент для работы с сайтом mainlink.ru (аналог sape.ru). Пока фунциональность очень простая (нет кеширования). Работает, как для морд, так и для внутренних страниц.
 

Python класс для работы c sape.ru

Представляю вам python класс для работы с sape.ru
Как будет время, оформлю всё красивым модулём с тестами, а пока голый код. Его работоспособность доказана практикой т.е. ссылки показываются, деньги капают ) Скрипт был написан путём анализа официальных php и perl версий.