Официальный сайт движения «Москва без Лужкова!»
Главная Новости Москвы Наши новости Популярное
  • Новости
  • Новости
  • ВХОД В ЛИЧНЫЙ КАБИНЕТ
    логин
    пароль
       
    Новости

    SEO оптимізація WordPress

    Для початку невеликий вступ, тому що основний напрямок сайту зовсім інше і деякі мої читачі, напевно, будуть здивовані, побачивши тут статтю про якийсь, для багатьох незрозумілою, WordPress.

    Так що ж таке, цей WordPress?

    Думаю, не помилюся, якщо скажу, що WordPress - найпопулярніший блогових движок. Дуже багато блогів зроблено на ньому, в тому числі і мій. на WordPress дуже просто, цей движок знаменитий своєю швидкою установкою за кілька хвилин, яку може зробити будь-хто, що знає хоча б що таке хостинг, FTP і як створити базу даних. Після установки движка ви вже фактично маєте готовий до роботи сайт, і можете починати публікувати свої матеріали.

    Для WordPress існує дуже багато шаблонних дизайнів, які ви можете знайти, вбивши в будь-який пошуковик фразу «» і вибрати для себе підходящий.

    Але ця стаття буде не про те, як створити свій блог, а про те, як залучити відвідувачів на нього з пошукових систем - про SEO оптимізації WordPress. Зробити сайт - це півсправи, потрібно ще привернути до нього увагу людей, інакше весь ваш супер-пупер-цікавий контент так і буде лежати на просторах всесвітньої павутини нікому, крім вас, не потрібним. А ви ж не до цього прагнули, правда?

    Розповідати про оптимізацію вордпресс буду на прикладі цього сайту - mos-holidays.ru . SEO оптимізація для нього почалася з видалення нечітких дублікатів контенту. Це відома хвороба даного движка - сторінки міток, архівів, публікацій певного автора складаються з текстів, взятих зі сторінок статей - анонсів, в деяких темах там навіть повні статті виводяться. Крім того, практично у кожного блогу на WordPress на головній сторінці є пагінація (посторінкова розбивка), де також основний контент - це абзаци з опублікованих статей (зустрічаються теми, де там також повні статті), деякі встановлюють на сайт ще й календар, на сторінках якого також виводяться анонси або повні статті, тим самим, збільшується кількість сторінок, контент яких складається з нечітких дублікатів. Є сайти, нормально живуть з цим і привертають хороший трафік. Але на mos-holidays.ru я постарався, а то й повністю позбутися від нечітких дублікатів, то хоча б максимально знизити їх кількість.

    Прибрати дублікати можна декількома способами. Можна замість анонса, який WP бере автоматично зі статті, виводити текст з поля «Цитата». Знаходимо в шаблоні файл, який відповідає за виведення категорій, архівів тощо. (В моєму випадку це archive.php), і в ньому функцію, яка відповідає за виведення анонса / повної статті міняємо на:

    <? Php the_excerpt (); ?>

    У мене там була така строчка:

    <? Php the_content_limit (700, "ДАЛІ ..."); ?>

    у кого-то може бути просто:

    <? Php the_content (); ?>.

    Далі потрібно буде для кожної статті писати унікальну анотацію, вставляти її в поле «Цитата» при створенні статті, і вона буде виводитися як анонс.

    Далі потрібно буде для кожної статті писати унікальну анотацію, вставляти її в поле «Цитата» при створенні статті, і вона буде виводитися як анонс

    Це перший варіант. У моєму випадку він не підійшов, тому що на той момент, коли я прийшов до цього, на сайті було викладено вже кілька десятків статей, і мене як-то зовсім не приваблювала писати до кожної з них анонс. Тому я просто видалив висновок анонса зі всіх сторінок, крім головної. Таким чином, на сторінках категорій і архівів у мене виводяться тільки картинка і посилання на статтю. Через CSS налаштував висновок, виглядає більш-менш нормально. Мене влаштувало.

    Мене влаштувало

    Але навіть якщо ми робимо висновок цитати замість анонса, ці цитати все одно будуть дублюватися в декількох місцях, все там же: на сторінці категорії, теги, календарі, сторінці публікації автора, в пагінацію на головній, можливо десь ще, все індивідуально для кожного сайту.

    Щоб цього уникнути я прибрав з головної сторінки пагінацію і прибрав з шаблону (файл single.php) посилання на автора статті. Ці сторінки не потрібні ні людям, ні пошуковим машинам. Люди можуть все спокійно знайти в рубриках, замість того, щоб переглядати статті посторінково на головній, а сторінки з публікаціями автора взагалі не зрозуміло для чого потрібні. Особливо якщо у блога один автор (а в більшості випадків так воно і є), то там просто йде дублювання всіх викладених статей. І навіщо, питається, це треба? В індексі пошукових систем ці сторінки також будуть без толку перебувати, навряд чи вони принесуть якийсь трафік. Тому краще їх прибрати і не забути закрити від індексації в robots.txt, додавши в нього рядки:

    Disallow: / author /

    Disallow: / page /

    Деякі для того, щоб уникнути нечітких дублікатів радять також закривати від індексації категорії і теги, пророкуючи блогу мало не бан в пошукових системах, є вони будуть проіндексовані. Розберемося спочатку з тегами. Я взагалі вважаю, що вони блогу особливо ні до чого. Навряд чи люди, які приходять на сайт, часто ними користуються. Крім того, теги, як правило, наскрізні, тобто на них посилання ведуть з кожної сторінки сайту, тим самим забираючи на себе великий обсяг статичної ваги. На форумах зустрічав репліки типу: «У мене теги мають PR = 1, так навіщо їх закривати від індексації?». Незрозуміло чому людина радіє, у нього сторінки тегів, які він, швидше за все, не просуває ні по яких запитах, мають високий статичний вага. А адже максимальний стат. вага повинна знаходитися на просуваються сторінках! Так навіщо, питається, потрібні теги, а тим більше наскрізні? Я прибрав посилання на них з усіх сторінок, залишив тільки з архівів. Хотів зовсім видалити, але для них були зроблені описи, про це трохи нижче, тому вирішив все-таки залишити. Якщо кому цікаво, раніше майже всі теги у мене мали PR = 2. Зараз цього вже, звичайно, немає.

    Як вивести теги тільки в одному розділі? Та дуже просто, ставиться перевірка на цей розділ, в моєму випадку - це архів:

    <? Php

    if (is_archive ()) {

    ?>

    Тут ваш код з усім оформленням, який виводить теги. Там повинна бути фукция wp_tag_cloud

    <? Php

    }

    ?>

    Тепер з приводу категорій. Навіщо їх закривати від індексації, якщо це сторінки другого рівня вкладеності, які можна просувати по середньо- або навіть високочастотні запити? Але для цього нам потрібно якось викласти на них текст. У цьому нам допоможе функція category_description, яку ми кидаємо в файл, який відповідає за сторінки категорії. Весь код виведення у мене вийшов такий:


    <? Php if ($ paged <2) {

    echo category_description ($ category);

    }?>

    Умова «if ($ paged <2)» говорить про те, що текст буде виводитися тільки на першій сторінці категорії, що дозволяє уникнути його дублювання на інших сторінках цієї категорії.

    Далі ставимо 2 плагіна: Category Description Editor і HTML in Category Descriptions. Заходимо в редагування категорії і бачимо, що в поле редагування опису розділу у нас з'явився WYSIWYG редактор. Додаємо в опис текст, який буде виводитися на сторінці даної категорії. Все, сторінка категорії майже оптимізована.

    Я таким же способом зробив висновок тексту на сторінках тегів. Не пам'ятаю тільки навіщо, мабуть хотів уникализировать ці сторінки. Нехай буде, як є. На них після цього навіть переходи з'явилися з пошукових систем.

    Так, здійснюємо SEO оптимізацію нашого WordPress далі. Трохи вище я сказав, що сторінка категорії майже оптимізована. Залишилося зробити можливим зміна у неї тайтла (title) і мета-тегів. У цьому нам допоможе плагін Headspace2. Цей плагін на відміну від популярного All in One SeoPack дає можливість додавати тайтли і метатеги не тільки статтями, але також категоріям і тегами. У нього є ще якийсь функціонал, але я його ставив, в основному, тільки для цих функцій. Можливо, там щось ще цікаве є. Пізніше наткнувся на плагін Platinum SEO Pack, який володіє схожими з Headspace2 можливостями. Можна використовувати його.

    Таким чином, ми маємо можливість повністю оптимізувати сторінки категорій: викласти на них текст, прописати title і мета-теги, то ж саме зробити зі сторінками статей і, при бажанні, навіть міток.

    Трохи про формування title і ЧПУ. Вище я вже писав про title, тут зроблю просто невеличку ремарку. На деяких блогах title формується за типом «Назва статті | Назва сайту". Це робить той же All in One SeoPack, та й Headspace2 таке теж може. Але це не правильно з точки зору оптимізації. У тайтл важливе кожне слово, нічого зайвого там не повинно бути, і тому вставляти туди ще й назва сайту, яке, швидше за все, ніяк не прив'язане до змісту поточної статті нераціонально. Прибираємо такий висновок, залишаємо там тільки текст, який ми прописуємо в Headspace2 в поле "Заголовок сторінки".

    Тепер про ЧПУ. ЧПУ повинні бути! У WP можна встановити такі формати ЧПУ, як «день і назва», «місяць і назва». Багато хто використовує їх, тим самим в урли додається дата публікації, яка там ні до чого. Якщо ви захочете відновити пост, підняти його вище, новою датою, то доведеться робити редирект зі старого урла на новий. Якщо говорити про SEO, немає ніяких причин, за якими дата могла б знаходитися в урле, зайве місце тільки займає. Тому ставимо довільну структуру формування урлов. Вставляємо в це поле або «/% postname% /», або «/% category% /% postname% /». Відповідно отримуємо урли типу http://site.ru/название-статьи/ або http://site.ru/категория/название-статьи/. Залишилося тільки налаштувати транслітерацію. Для цього встановлюємо плагін RusToLat. Ще один момент. WordPress по-замовчування до УРЛу категорій додає "/ category /". Щоб позбутися від цього ставимо плагін WP No Category Base.

    Далі оптимізуємо головну сторінку нашого сайту. За замовчуванням тут публікуються анонси всіх викладених на блозі статей. Мене це не влаштовувало, я хотів оптимізувати головну під запити «куди сходити в Москві» і «цікаві місця москви». Відповідно потрібно викласти на цю сторінку текст. Зробити це дуже легко: відкриваємо файл index.php і перед рядком:

    <? Php if (have_posts ()): while (have_posts ()): the_post (); ?>

    виводимо наш текст з необхідним оформленням.

    Напевно це можна зробити якимось іншим більш правильним способом, але мені було простіше так.

    Також на головній я прибрав у анонсів посилання «читати далі» (докладніше і т.п.) і посилання з картинок, які вели на повну версію статей. Тобто вийшло, що вага статей став передаватися тільки по одному посиланню - в назві статті. А назва, як правило, містить основний просувний запит для даної сторінки. Таким чином, ми отримуємо правильно налаштовану передачу анкорного ваги - за потрібною ключовою фразою.

    Звичайно, правильніше було б виводити картинки через ajax, тому що люди люблять потикати на картинки для переходу. Але я, на жаль, такими знаннями не володію. Після введених змін спеціально відстежував статистику за кількістю переглянутих сторінок, чи буде від того, що прибрав посилання з картинок менше внутрішніх переходів по сайту, але різниці не побачив.

    Як видалити «читати далі» з анонсів. Це залежить від того, як у вашій темі відбувається висновок анонсів. Якщо за допомогою тега <! --more-->, то достатній додати в файл functions.php функцію:

    function remove_more_link () {return ''; }

    add_filter ( 'the_content_more_link', 'remove_more_link');

    Якщо, як у мене, за допомогою функції "the_content_limit", то потрібно в файлі functions.php знайти цю функцію і закомментировать все рядки коду, що відповідають за вивид цього посилання. Щось типу такого:


    echo "& nbsp; <a href = '";

    the_permalink ();

    echo " '>". $ more_link_text. "</a>";

    Далі коротко про перелинковке. У WordPress є багато плагінів, які виводять схожі статті, різними способами. Але на цьому сайті я використовую функцію, яка створює кільцеву перелинковку за статтями категорії. Це набагато корисніше, ніж просто висновок випадкових статей з поточної категорії, як це роблять плагіни. Детальніше про цю функцію можна почитати. Там є і хороша інструкції по установці.

    Також для перелинковки (і не тільки) можна використовувати плагін Side Content. Він дозволяє виводити будь-який контент: тексти, картинки, посилання і т.п. в сайдбарі будь-який окремо взятої сторінці. Що і як виводити - вирішувати вам.

    Ось ще кілька корисних плагінів для SEO оптимізації WordPress: Redirection - для створення редиректів, Yoast Breadcrumbs - додаємо хлібні крихти (я сам якусь функцію використовував, але плагіном, швидше за все, простіше їх зробити), Dagon Design Sitemap Generator і Google XML Sitemaps - створюємо html і xml карти сайту, Robots Meta - додаємо заборона на індексацію різних сторінок, Remove Default Canonical Links - іноді буває потрібно видалити стоять за замовчуванням канонічні урли. У мене, коли Яндекс ввів підтримку rel = "canonical" вилетіли з індексу всі галереї. З'ясувалося, причина була в тому, що у них прописувався канонічний урл основної сторінки галереї, тобто https://mos-holidays.ru/galereya/ . За допомогою цього плагіна я їх видалив і все нормально повернулося в індекс.

    У мене досить стара версія WordPress - 2.9.2. Тому в 3-й версії щось з написаного тут може не працювати. Крім того, в залежності від шаблону, дії по оптимізації будуть на кожному сайті відрізнятися. Але в будь-якому випадку загальні принципи залишаться такими ж.

    PS
    Ніколи не брав участі раніше ні в яких конкурсах. Перший раз вирішив спробувати. Ця стаття написана в рамках конкурсу «». Давно хотів написати статтю про оптимізацію WordPress. Часто зустрічав на форумах відгуки про нього, як про дуже незручному для SEO движку. Але не було приводу для написання, блог-то на зовсім іншу тематику, а тут якраз натрапив на конкурс. Сподіваюся, стаття ця буде корисною блогерам, які використовують WordPress.

    Так що ж таке, цей WordPress?
    А ви ж не до цього прагнули, правда?
    Php the_excerpt (); ?
    Php the_content_limit (700, "ДАЛІ ..."); ?
    Php the_content (); ?
    І навіщо, питається, це треба?
    На форумах зустрічав репліки типу: «У мене теги мають PR = 1, так навіщо їх закривати від індексації?
    Так навіщо, питається, потрібні теги, а тим більше наскрізні?
    Як вивести теги тільки в одному розділі?
    Навіщо їх закривати від індексації, якщо це сторінки другого рівня вкладеності, які можна просувати по середньо- або навіть високочастотні запити?

     

    Найди свой район!

    Восточный

    Западный

    Зеленоградский

    Северный

    Северо-Восточный

    Северо-Западный

    Центральный

    Юго-Восточный

    Юго-Западный

    Южный

    Поиск:      


     
    Rambler's Top100
    © 2007 Движение «Москва без Лужкова!»