Мой основной проект: Боевые искусства в кинематографе! (fight-films.info)

Свеженькое
Реакция публики
    Облако пометок
    css Google html SEO WordPress Яндекс видео графический дизайн заработок интернет интернет магазин контент партнерка поисковые системы посещаемость продвижение раскрутка реклама сайт ссылки статья юзабилити

    Делаем страницы WordPress максимально уникальными

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

    Ясное дело, для того, чтоб контент был уникальным и не повторялся, необходимо самому создавать записи, не пользуясь чужими, но речь не об этом. Я хочу затронуть тему дублирования контента на страницах движка WordPress. Таких изъянов в нем более чем достаточно.

    Давайте представим что мы используем стандартный шаблон для WordPress, который предоставляется разработчиками в дистрибутиве с движком, ну или пусть это будет какой-нибудь красивый бесплатный шаблон с минимальным функционалом, не суть.

    Суть проблемы

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

    Посмотрим на это глазами поисковика: он заходит на главную страницу и видит последнюю запись "Сегодня я написал стишок" , потом он идет в рубрику "Мои стихи" , где видит точно такую же запись, далее - метка "стих" и страница автора "Поэт"... - везде по аналогии находится одинаковая публикация. Как поисковик отреагирует на это? Думаю, логично будет если он посчитает все эти страницы дублями и "склеит" их, или хуже - выкинет все из индекса. Это же робот, он не понимает важности каждого раздела.

    Решения проблемы

    Я упущу тот момент, что статьи необходимо писать с превью, то есть - сделав краткое вступление, добавлять тег <!--more--> , дабы прочитать полную статью можно было только перейдя дальше по ссылке. Очевидно, что размещая полные тексты записей мы создаем себе кучу проблем...

    Кастомизация шаблона сайта

    Для начала, следует уяснить что для страниц рубрик, меток, архивов, автора и даже главной используется один и тот же шаблон, а точней - файл index.php в шаблоне. Но это в отсутствие соответствующих файлов, которые должны использоваться для этих страниц. Для каждой из них можно создать отведенный файл, итак для рубрик используется шаблон category.php, tag.php - метки, автор - author.php и archive.php - страница архива.

    Как создать эти страницы? Самый простой способ - скопировать тот же index.php и переименовать его в одно из выше представленных названий, например tag.php. Тогда мы получим отдельный (пока что такой же), файл для страниц меток. При чем, если этот файл находится в папке шаблона, то он автоматически используется движком, то есть не нужно ничего руками подключать.

    Значит, наша задача сделать каждую страницу уникальной, то есть, чтоб контент во всех разделах был разным. Каким образом это осуществить? Предлагаю начать с заголовка. Каждая страница должна иметь свой заголовок, почему-то большинство шаблонов игнорируют это. За заголовок страницы в WordPress отвечает тег:

    <?php the_title(); ?>

    Вставив его в каком-либо месте мы получаем одну уникальную строку, которая создается автоматически. При чем, плюс от этого еще в том, что пользователь всегда будет знать где он находится... Для рубрик и меток есть свои теги соответственно:

    <?php single_cat_title('Все записи рубрики ','display'); ?>
    <?php single_tag_title('Все записи с меткой','display'); ?>

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

    Добавим описание для каждого раздела сайта. За описание рубрик отвечает тег:

    <?php echo category_description(); ?>

    Если мы добавим его в шаблон, то получим уже достаточно текста, чтоб этот раздел отличался от других. Аналогично и с разделом меток:

    <?php echo tag_description(); ?>

    Для файла author.php еще легче. Если мы добавим в этот раздел код:

    <?php
        if(isset($_GET['author_name'])) :
            $curauth = get_user_by('slug', $author_name);
        else :
            $curauth = get_userdata(intval($author));
        endif;
        ?>
    
        Обо мне: <?php echo $curauth->nickname; ?>
        Сайт: <a href="< ?php echo $curauth->user_url; ?>"><?php echo $curauth->user_url; ?>
        Профиль: <?php echo $curauth->user_description; ?>

    Получим всю информацию, которую о себе написал автор в админке. Если вы единственный автор, то можно и в ручную все это добавить, дабы не нагружать движок лишними запросами.

    А вот с описанием archive.php не знаю как поступить... пока единственное что на ум приходит - добавить все вручную.

    Содержание превьюшек записей

    Да, текст записи у нас режется тегом <!--more-->, но все же он отображается во всех разделах одинаковый. Это легко исправить с помощью вывода "цитат". Я не знаю почему в данном случае "excerpt" перевели как "цитата", но Бог с ним... В общем, при добавлении каждой записи у нас в редакторе находится блок "Цитата", где мы можем создать маленькое описание нашей заметки. Вот она нам и нужна.

    Если в каждом из файлов мы заменим тег, который выводит контент:

    <?php the_content(); ?>

    На тег, который вставляет "цитату":

    <?php the_excerpt(); ?>

    Мы получим совершенно уникальный текст! На главной будут отображаться стандартные превьюшки с <!--more-->, а во всех других разделах - "цитаты". При чем, если удалить, скажем, в файле author.php совсем тег the_content(), то мы на странице автора получим лишь вывод заголовков записей, а это сделает содержимое раздела еще уникальней!

    Обязательно еще надо сделать разное количество отображения постов на страницу во всех разделах, и очень даже не помешает сделать каждый файл уникальным по струтуре.

    Пока все, что на ум пришло...а есть еще способы?

    комментария 3
    1. mr.Spok:

      А как отображать разное количество постов на страницах???

      • BarSug:

        Заменить это:
        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        на это:
        <?php if (have_posts()) : query_posts($query_string.’&posts_per_page=10′); while (have_posts()) : the_post(); ?>
        , где &posts_per_page=10 — отображаемое количество постов на странице.

    2. guz:

      самая грамотная статья для вордпресс…огромное спасибо