Modyfikacje pod kątem SEO w CMS Made Simple

CMS Made Simple jest bardzo interesującym narzędziem do tworzenia mniejszych serwisów. Jak dla mnie posiada jednak kilka wad związanych z optymalizacją pod kątem wyszukiwarek. Istnieją wtyczki naprawiające tę niedogodność, jednak także posiadają pewne niedociągnięcia. Można jednak podstawowe problemy rozwiązać samemu, wklejając kilka linijek kodu w odpowiednie miejsca.

Podstawowe mankamenty CMS Made Simple związane z SEO to brak możliwości samodzielnego definiowania dla poszczególnych stron znaczników TITLE i META DESCRIPTION, oraz KEYWORDS (ten ostatni jest z oczywistych względów najmniej ważny). Dodatkowym problemem jest to, że podstrony z aktualnościami, galerią, terminarzem itp. mają ten sam TITLE i opis.

Zaletą przedstawionego w dalszej części artykułu rozwiązania jest to, że nie dokonujemy żadnych zmian w kodzie samego CMSa. Wszelkie modyfikacje zostaną wprowadzone w szablonach oraz konfiguracji. Gdy nasza strona korzysta z więcej niż jednego szablonu, opisane zmiany musimy wykonać w każdym z nich.

W przypadku, gdy nasza witryna posiada treść umieszczoną tylko na stronach (bez aktualności, galerii i innych modułów) wystarczą nam trzy niewielkie modyfikacje:

1. Na początku szablonu naszej strony umieszczamy kod (po {process_pagedata} jeśli występuje):

{capture}{content block="META Title" oneline="true" assign="meta_title"}
{/capture}
{capture}{content block="META Description" oneline="true" 
assign="meta_description"}{/capture}
{capture}{content block="META Keywords" oneline="true" 
assign="meta_keywords"}{/capture}

Dzięki niemu w edycji strony pojawią się dodatkowe pola do uzupełnienia, umożliwiające wprowadzenie treści do znacznika TITLE, META DESCRIPTION oraz META KEYWORDS.

2. Poniższy kod umieszczamy w sekcji HEAD szablonu strony, lub gdy korzystamy ze znacznika {meta}, w odpowiednich opcjach konfiguracyjnych (Administracja serwisu -> Ustawienia globalne, pole „Globalne Metadane”)

<meta name="description" content="{$meta_description}" />
<meta name="keywords" content="{$meta_keywords}" />

Dzięki temu w kodzie HTML naszej strony pojawią się dane, wpisane w zdefiniowane wcześniej pola.

3. W szablonie podmieniamy kod w miejscu wyświetlania znacznika TITLE

<title>{if isset($meta_title) && !empty($meta_title)}{sitename} - {$meta_title}
{else}{sitename} - {title}{/if}</title>

Spowoduje to, że na stronie pojawi się tytuł wpisany w nowym polu zdefiniowanym w punkcie 1.

Zasada działania powyższych modyfikacji będzie następująca: jeśli podczas tworzenia lub edycji strony uzupełnimy nowe pola, ich zawartość pojawi się na naszej witrynie. Jeśli pole “META Title” pozostawimy puste, automatycznie wstawiona zostanie wartość z pola “Tytuł”.

Gdy na naszej stronie korzystamy z aktualności, galerii, terminarza lub innych modułów, trzeba dokonać kilku dodatkowych modyfikacji. Dzięki nim w odpowiednie pola zostaną wstawione automatycznie właściwe dane. Przykładowo, w przypadku aktualności, w znacznik TITLE trafi tytuł newsa, a w META DESCRIPTION automatycznie umieszczony zostanie wstęp. Aby to osiągnąć, musimy dokonać kolejnych zmian:

4. Należy upewnić się, że w pliku config.php CMS Made Simple została wyłączona odpowiednia zmienna (jest to domyślne ustawienie):

$config['process_whole_template'] = false;

5. W szablonie strony po {process_pagedata} wstawić:

{content assign="capturedcontent"}

Spowoduje to, że treść naszej strony zostanie wcześniej wygenerowana i przypisana do zmiennej. Dzięki temu możliwe będzie późniejsze przekazywanie zmiennych z modułu aktualności, galerii itd.

6. W szablonie głównym, w miejsce {content} wstawić:

{$capturedcontent}

Spowoduje to wyświetlenie wygenerowanej treści, którą w poprzednim punkcie przypisaliśmy do zmiennej.

7. W szablonie szczegółów aktualności, galerii itd. wstawić:

{assign var="pagetitle" value=$entry->title|escape}

Dzięki temu pod zmienną “pagetitle” wstawiony zostanie tytuł aktualności lub zdjęcia. Podobny zabieg możemy zastosować dla innych modułów, zmieniając w razie potrzeby źródło danych ($entry->title).

Dodatkowo w przypadku aktualności należy wstawić w ich szablonie szczegółów następujący kod (dokładne umiejscowienie nie jest ważne, może być na początku lub na końcu):

{if $entry->summary}
{assign var="meta_description_auto" value=$entry->summary|truncate:150:""}
{else}
{assign var="meta_description_auto" value=$entry->content|truncate:150:""}
{/if}

Dzięki temu w pole description będzie wstawiany wstęp newsa, lub w przypadku jego braku początek treści. Obie wartości zostały przycięte do maksymalnie 150 znaków.

Natomiast w szablonie szczegółów galerii (wtyczka Gallery) należy wstawić:

{assign var="meta_description_auto" value=$gallerycomment|truncate:150:""}

W ten sposób w tag meta description zostanie wstawiony opis galerii (maksymalnie 150 znaków).

W innym modułach postępujemy analogicznie, wstawiając w meta_description_auto odpowiednią zmienną, która zostanie użyta później automatycznie w tagu META DESCRIPTION.

8. W szablonie  głównym strony zmieniamy kod w miejscu wyświetlania znacznika TITLE na troszkę bardziej skomplikowany:

<title>{if isset($pagetitle) && !empty($pagetitle)}{sitename} - {$pagetitle}
{elseif isset($meta_title) && !empty($meta_title)}{sitename} - {$meta_title}
{else}{sitename} - {title}{/if}</title>

Przy takiej definicji w znacznik TITLE zostanie wstawiony jeśli istnieje kolejno: tytuł aktualności/galerii/itp., tytuł zdefiniowany przez nas w nowym polu META TITLE lub w przypadku ich braku po prostu wartość z pola “Tytuł” strony.

9. W szablonie głównym lub w ustawieniach {meta} modyfikujemy definicję tagu META DESCRIPTION, dodając nowe zmienne (szczegóły – patrz punkt 2).

<meta name="description" content="{if $meta_description_auto}
{$meta_description_auto}{else}{$meta_description}{/if}" />

Oznacza to, że wstawiona ma być zmienna $meta_description_auto (wstęp aktualności, opis galerii, itp.), lub jeśli nie istnieje, wartość z pola “META description” strony.

10. W szablonie strony zmieniamy sposób wyświetlania nagłówka naszej strony (może być umieszczony w innym znaczniku niż h1)

<h1>{if isset($pagetitle)}{$pagetitle}{else}{title}{/if}</h1>

Dzięki temu wstawiony zostanie tytuł aktualności, galerii, itp. lub po porostu “Tytuł” strony.

I to juz koniec wymaganych modyfikacji CMS Made Simple. Dokonując tych zmian, możliwa będzie odpowiednia optymalizacja naszej strony pod kątem wyszukiwarek internetowych. Tytuły, opisy oraz słowa kluczowe będą się właściwie pojawiały, dzięki czemu nasze działania SEO będą mogły przynieść oczekiwane rezultaty.

Komentarze: 2

  • Tomek
    12 maj 2011 | Permalink | Odpowiedz

    Witam, nie bardzo rozumiem stwierdzenie: „Na początku szablonu naszej strony umieszczamy kod (po {process_pagedata} jeśli występuje)”. Który to jest plik? Przez FTP trzeba dodać ten kod czy przez panel administracyjny?

    • 12 maj 2011 | Permalink | Odpowiedz

      W panelu administracyjnym wystarczy wejść w Wygląd -> Szablony i edytować właściwy. Jeśli strona korzysta z kilku różnych szablonów, modyfikacje trzeba wykonać na nich wszystkich.

Dodaj komentarz do Marcin Fliszta

Anuluj pisanie odpowiedzi