31 maart 2011
Door Akif Gumussu
Eigenaar Aquive Media & Full stack developer
Web technologie evolueert erg snel. De inhoud van dit artikel kan daarom sindsdien niet meer actueel, irrelevant, verouderd of zelfs foutief zijn.
We laten dit artikel online staan als archief. Daarnaast hechten we waarde aan transparantie en de evolutie van kennis en technologie. We raden je aan om altijd recentere bronnen te raadplegen of om vrijblijvend contact met ons op te nemen voor de laatste updates en adviezen.
Voor een webshop die we beheren en onderhouden moesten we vanuit SEO oogpunt verbeteringen aanbrengen. We zijn begonnen met het analyseren van de pagina’s en hoe gebruikers hierop komen. Het bleek dat veel bezoekers binnenkomen op een subcategorie pagina in de webshop. In de betreffende webshop worden iPhone accessoires aangeboden. Voor elk apparaat is een hoofdcategorie aangemaakt zoals iPhone 3G en iPhone 4. Daaronder hangen dan weer de sub categorieën. Het probleem echter is dat wanneer je via een deeplink binnenkomt op een subcategorie je niet direct kan zien tot welke apparaat de accessoires behoren. De naam van de subcategorie word namelijk ook gebruikt als titel in de H1-tag boven de categorie. Een goede oplossing zou zijn als je deze titel zelf kon ingeven in de backend. Dit is vanuit usabilty maar ook vanuit SEO perspectief een verbetering aangezien je voor bezoekers én zoekmachines duidelijk kan maken wat er op de pagina te vinden is. In deze post geven we een beschrijving over hoe dit te realiseren is.
Na een zoektocht via Google kwamen we verschillende oplossingen tegen. Je kan zelf de Magento functionaliteit uitbreiden door rechtstreeks de database aan te passen. Maar er zijn betere oplossingen. Op een franse blog kwamen we een oplossing tegen voor het maken van een mini-module. We zullen voor het gemak de gebruikte namen hetzelfde laten. Hier volgt een korte handleiding
Maak de volgende bestanden aan:
app/code/local/Magentix/CategoriesAttributes/etc/config.xml
app/code/local/Magentix/CategoriesAttributes/sql/categoriesattributes_setup/mysql4-install-0.1.0.php
app/etc/modules/Magentix_CategoriesAttributes.xml
De inhoud van config.xml
0.1.0
Magentix_CategoriesAttributes
Mage_Catalog_Model_Resource_Eav_Mysql4_Setup
core_setup
De inhoud vanmysql4-install-0.1.0.php
startSetup();
$installer->addAttribute('catalog_category', 'category_title', array(
'type' => 'text',
'backend' => '',
'frontend' => '',
'label' => 'Category Title',
'input' => 'text',
'class' => '',
'source' => '',
'global' => 0,
'visible' => 1,
'required' => 0,
'user_defined' => 0,
'default' => '',
'searchable' => 0,
'filterable' => 0,
'comparable' => 0,
'visible_on_front' => 0,
'unique' => 0,
'position' => 1,
));
$installer->endSetup();
De inhoud van Magentix_CategoriesAttributes.xml
true
local
Nadat je dit hebt gedaan kan je inloggen in de Magento backend, en de cache legen als deze aanstaat. Er zijn nu een aantal records toegevoegd aan de database wat zorgt dat er een nieuwe veld bij gekomen is bij de categorie beheer pagina.
Dit veld kan nu ingevuld worden. Om er ook nog wat aan te hebben moet er natuurlijk ook iets aan de frontend kant iets gebeuren. Open nu het volgende bestand:
/app/design/frontend/default//template/catelog/category/view.phtml
Als deze niet bestaat maak deze dan aan, en haal de inhoud of het bestand zelf van de volgende locatie:
/app/design/frontend/base/default/template/catelog/category/view.phtml
Verwijder de volgende regel:
En vervang het door het volgende:
getShortDescription()) : ?>
Als er niets is ingevoerd in het nieuw aangemaakte veld in de backend veranderd er niets. Als er wel iets ingevuld is verschijnt dit in de H1 tag boven de categorie. Meer duidelijkheid voor de bezoekers en goed voor SEO. Twee vliegen in één klap. Test dit natuurlijk altijd op een test server voordat je het toepast op een productie server.
Akif Gumussu (Eigenaar Aquive Media & Full stack developer)
31 maart 2011
Met meer dan 15 jaar ervaring in de e-commerce sector is Akif een ervaren E-commerce expert. Begonnen in 2007 tijdens zijn studie en sindsdien heeft zijn vaardigheden verfijnd en uitgebreid.
Hij heeft de uitdagingen van het runnen van een webshop persoonlijk ervaren. Deze hands-on ervaring geeft hem een uniek inzicht in de praktische pijnpunten van e-commerce ondernemers.