Banner - Blog zu den Themen Programmierung, SEO, SEM, Social Media, Internet Marketing, Webdesign, IT-Service und Mehr - SEO Hannover - IT-Dienstleistungen und SEO Agentur Fly2Mars-Media.de

Archiv

Archiv für die Kategorie ‘Blog’

Magento SEO: URL mit /index.php/ in der URI umleiten auf URL ohne

Per Standard ist es in Magento möglich alle URLs jeweils mit /index.php/ in der URI, als auch ohne aufzurufen.
Hierdurch entsteht im schlimmstenfall ein “duplicate content” Problem.

Um das Problem zu lösen, ist es sinnvoll die URL mit der /index.php/ auf die URL ohne diesen URI-Part zu leiten,
daher per mod_rewrite von z.b. /index.php/katalog auf /katalog

So geht’s:

RewriteRule ^index.php/(.*) $1 [R=301,QSA,L]

Zu empfehlen ist den Admin-Bereich auszugliedern, da Suchmaschinen auf diesen sowieso kein Zugriff haben (sollten)!

Admin Bereich als Ausnahme definierfen

RewriteCond %{REQUEST_URI} !^/index.php/admin/
RewriteRule ^index.php/(.*) $1 [R=301,QSA,L]

 

Fandet ihr diesen Tipp nützlich?
Dann bewertet diesen doch bitte und teilt ihn bei Google+ oder Facebook, danke!

GD Star Rating
loading...
GD Star Rating
loading...

Robots.txt in Magento

Die Robots.txt dient zur Steuerung der Webcrawler diverse Suchmaschinen, primär wird dort fest gelegt welche Seiten nicht gecrawlt werden sollen.

Magento hat viele Ordner und Dateien sowie Parameter/Filter, etc. welche nicht gescannt werden sollten, sei es aus Sicherheitsgründen als auch um das Duplicate Content Problen in den Griff zu bekommen:

## robots.txt for Magento Community and Enterprise

## GENERAL SETTINGS

## Enable robots.txt rules for all crawlers
User-agent: *

## Crawl-delay parameter: number of seconds to wait between successive requests to the same server.
## Set a custom crawl rate if you’re experiencing traffic problems with your server.
# Crawl-delay: 30

## Magento sitemap: uncomment and replace the URL to your Magento sitemap file
# Sitemap: http://www.example.com/sitemap/sitemap.xml

## DEVELOPMENT RELATED SETTINGS

## Do not crawl development files and folders: CVS, svn directories and dump files
Disallow: CVS
Disallow: .svn
Disallow: .idea
Disallow: .sql
Disallow: .tgz

## GENERAL MAGENTO SETTINGS

## Do not crawl Magento admin page
Disallow: /admin/

## Do not crawl common Magento technical folders
Disallow: /app/
Disallow: /downloader/
Disallow: /errors/
Disallow: /includes/
Disallow: /lib/
Disallow: /pkginfo/
Disallow: /shell/
Disallow: /var/

## Do not crawl common Magento files
Disallow: /api.php
Disallow: /cron.php
Disallow: /cron.sh
Disallow: /error_log
Disallow: /get.php
Disallow: /install.php
Disallow: /LICENSE.html
Disallow: /LICENSE.txt
Disallow: /LICENSE_AFL.txt
Disallow: /README.txt
Disallow: /RELEASE_NOTES.txt

## MAGENTO SEO IMPROVEMENTS

## Do not crawl sub category pages that are sorted or filtered.
Disallow: /*?dir*
Disallow: /*?dir=desc
Disallow: /*?dir=asc
Disallow: /*?limit=all
Disallow: /*?mode*

## Do not crawl 2-nd home page copy (example.com/index.php/). Uncomment it only if you activated Magento SEO URLs.
## Disallow: /index.php/

## Do not crawl links with session IDs
Disallow: /*?SID=

## Do not crawl checkout and user account pages
Disallow: /checkout/
Disallow: /onestepcheckout/
Disallow: /customer/
Disallow: /customer/account/
Disallow: /customer/account/login/

## Do not crawl seach pages and not-SEO optimized catalog links
Disallow: /catalogsearch/
Disallow: /catalog/product_compare/
Disallow: /catalog/category/view/
Disallow: /catalog/product/view/

## SERVER SETTINGS

## Do not crawl common server technical folders and files
Disallow: /cgi-bin/
Disallow: /cleanup.php
Disallow: /apc.php
Disallow: /memcache.php
Disallow: /phpinfo.php

## IMAGE CRAWLERS SETTINGS

## Extra: Uncomment if you do not wish Google and Bing to index your images
# User-agent: Googlebot-Image
# Disallow: /
# User-agent: msnbot-media
# Disallow: /

Verschiedene versionen der robots.txt pro domain/store per htaccess ausliefern – so geht’s

Mit hilfer der folgenden Einträge in der .htaccess-Datei könnt ihr anhand der Domain/Subdomain verschiedene robots.txt ausliefern:

 RewriteEngine on

RewriteCond %{HTTP_HOST} ^.*?domain2\.tld$ [NC]
RewriteRule ^robots\.txt$ robots.version1.txt

RewriteCond %{HTTP_HOST} ^.*?domain1\.tld$ [NC]
RewriteRule ^robots\.txt$ robots.version2.txt

GD Star Rating
loading...
GD Star Rating
loading...

SEO auf der Cebit 2013: Tools-Anbieter, Dienstleister und SEO Veranstaltungen auf der CeBIT in Hannover

cebit cb13_logo_col_de
Vom 05. bis 09. März findet wie jedes jahr in Hannover wieder die IT-Messe CeBIT statt.

Neben aktuellen Trends und Neuvorstellungen interessiert mich vor allem wer aus der Web-Szene ist vor Ort. Egal ob SEO, SEM, SMM, eCommerce oder sonst wie.

Hier eine kleine Übersicht der vertretenden Internet-Dienstleister, Suchmaschinen-Anbieter, Social-Media, etc.:

SEO Agenturen

SEO Events / Foren

eCommerce

Web-Portal-, Suchmaschinen- und Social-Media-Anbieter

Hier fehlt ein Anbieter?
Schreibe diesen bitte als Kommentar ins Ticket inkl. Halle & Stand-Nr. und ich nehme ihn mit auf, danke!

GD Star Rating
loading...
GD Star Rating
loading...

Magento: Was man alles mit Kategorien machen kann … – Categories in magento

Kategorie neu laden anhand vorhandener Kategorie-ID

$category = Mage::getModel('catalog/category')->load(12);

Unterkategorien der Kategorie erhalten

$category->getChildren();

Beliebige Werte der aktuellen kategorie erhaltet ihr mit z.b.

$category->getId(); // the cat id
$category->getName(); // cat name
$category->getLevel(); // cat level
$category->getParentCategories(); // get parent categories

Den Kategorien Pfad im Store zur aktuellen Kategorie anzeigen lassen geht mit

$category->getPathInStore();

Alle Hauptkategorien (unterhalb der 0-Level-Default-Kategorie) anzeigen lassen

    public function getParentTopCategory($category = null)
    {
        if(is_null($category)) {
            return $category;
        }
        if($category->getLevel() == 2){
            return $category;
        } else {
            $parentCategory = Mage::getModel('catalog/category')->load($category->getParentId());
            return $this->getParentTopCategory($parentCategory);
        }
    }
GD Star Rating
loading...
GD Star Rating
loading...

Magento: Funktion zur Erzeugung der “markup for multilingual content”-Link-Tags

Die folgende Funktion erzeugt euch für die einzelnen Stores bei Mehrsprachigkeit dieser ein Array mit den Markup-Links für Multilingual content:

public function countryStoresAlternateLinks()
{
/*      e.g.
<link rel="alternate" hreflang="es" href="http://www.example.com/" />
<link rel="alternate" hreflang="es-ES" href="http://es-es.example.com/" />
<link rel="alternate" hreflang="es-MX" href="http://es-mx.example.com/" />
<link rel="alternate" hreflang="en" href="http://en.example.com/" />
*/
$stores = Mage::app()->getStores(false);
if (!$stores) {
return false;
}
$countryAlternateLinks = '';
foreach($stores as $store) {
$countryAlternateLinks[] = '<link rel="alternate" hreflang="' . substr(Mage::getStoreConfig('general/locale/code', $store->getId()), 0, 2) . (Mage::getStoreConfig('general/country/default', $store->getId()) != '' ?  "-" . Mage::getStoreConfig('general/country/default', $store->getId()) : '') .  '" href="' . $store->getBaseUrl() . '" />' . "\n";
}
return $countryAlternateLinks;
}

Die erzeugte Liste könnt ihr dann entsprechend im Template verarbeiten/ausgeben.

Idealerweise solltet ihr die Funktion in eine erweiterte Klasse der Mage_Page_Block_Html_Head packen.

GD Star Rating
loading...
GD Star Rating
loading...
KategorienMagento, PHP, SEO & SEM Tags: , , ,

Magento: Standard Weiterleitung mit 302 ändern zu einer 301 Weiterleitung (SEO)

Magento leitet interne Links per 302-Status-Code weiter. Das ist in Bezug auf Suchmaschinenoptimierung nicht gerade optimal, besser wäre eine 301-Weiterleitung.

Um das zu ändern sollte beim Aufruf der Funktion “_redirect” jeweils als zweiten Parameter der korrekte Status-code “301″ mit gegeben werden, da ansonsten der Default-Parameter “302″ verwendet wird.

Siehe: /app/code/core/Mage/Core/Controller/Response/Http.php :

/**
* Additionally check for session messages in several domains case
*
* @param string $url
* @param int $code
* @return Mage_Core_Controller_Response_Http
*/
public function setRedirect($url, $code = 302)
{
/**
* Use single transport object instance
*/
if (self::$_transportObject === null) {
self::$_transportObject = new Varien_Object;
}
self::$_transportObject->setUrl($url);
self::$_transportObject->setCode($code);
Mage::dispatchEvent('controller_response_redirect',
array('response' => $this, 'transport' => self::$_transportObject));
return parent::setRedirect(self::$_transportObject->getUrl(), self::$_transportObject->getCode());
}

Um das über ein Magento-Event zu lösen, geht wie folgt vor:

Erstellt ein neues Module und erweitert die config.xml mit folgendem xml-snippet, z.B. in der /app/code/local/Neuesmodul/Cms/etc/config.xml

<global>
<events>
<cms_controller_router_match_before>
<observers>
<Neuesmodul_Cms_observer_cmsControllerRouterMatchBefore>
<type>singleton</type>
<class>neuesmodul_cms/observer</class>
<method>httpResponseSendBefore</method>
</Neuesmodul_Cms_observer_cmsControllerRouterMatchBefore>
</observers>
</cms_controller_router_match_before>
</events>
</global>

in /app/code/local/Neuesmodul/Cms/Model/Observer.php fügt ihr die folgende Funktion  ein:

/*
* set 301-Http-Response-Code for redirection
*/
public function cmsControllerRouterMatchBefore(Varien_Event_Observer $observer)
{
$condition = $observer->getEvent()->getCondition();
if ($condition->getRedirectUrl()) {
Mage::app()->getFrontController()->getResponse()
->setRedirect($condition->getRedirectUrl(), 301)
->sendResponse()
->setDispatched(true);
}
}
GD Star Rating
loading...
GD Star Rating
loading...

Die Magento SEO Checkliste – Diese Punkte sollten vor dem Go-Live geprüft werden

Magento bietet eine Reihe an Möglichkeiten den Webshop für Suchmaschinen zu optimieren (kurZ: SEO). Die folgende Checkliste sollte vor der Go-Live Schaltung abgearbeitet werden:

SEO features Description
General
1. Store name Don’t forget to enter your store name. Store name is used in different parts of Magento
System -> Configuration -> General -> Store information -> Store name
2. Home page title and meta data Don’t forget to enter “Page title” and “Meta data” for your CMS pages, including Home page
CMS -> Pages -> Home
3. Logo image Alt description Alt description of the store image logo
System -> Configuration -> Design -> Header -> Logo Image Alt
4. SEO Friendly URLs (SEF URLs) SEO Friendly URLs is one of the most important features of every eCommerce store, don’t forget to enable and test it
System -> Configuration -> Web -> Search Engines Optimization -> Use Web Server Rewrites -> “Yes”
Base URL
5. Unsecure and secure base URLs Enter HTTP and HTTPS path to your store, e.g. http://www.example.com/store/ or https://www.example.com/store/
System -> Configuration -> Web -> Unsecure -> Base URL
System -> Configuration -> Web -> Secure -> Base URL
6. Auto-redirect to Base URL Use only one WWW or non-WWW URL for your store. I.e. redirect from http://example.com/store/ to http://www.example.com/store/
System -> Configuration -> Web -> URL options -> Auto-redirect to Base URL -> “301 redirect (Moved permanently)”
Products and categories
7. Products meta data and URL key Your products should have SEO friendly URL keys and correct meta data values
Catalog -> Manage Products -> [Product] -> General -> URL Key
Catalog -> Manage Products -> [Product] -> Meta data
8. Categories meta data and page title Enter URL Key, page title, Meta information for each category
Catalog -> Manage Categories -> [Category]
9. Canonical link for categories and products Enter URL Key, page title, Meta information for each category
System -> Catalog -> Catalog -> Search Engine Optimizations -> Use Canonical Link Meta Tag For Categories
System -> Catalog -> Catalog -> Search Engine Optimizations -> Use Canonical Link Meta Tag For Products
10. Structure of product URLs Preferred structure of product URLs
System -> Catalog -> Search Engine Optimizations -> Use Categories Path for Product URLs -> “Yes”
Sitemap
11. Google sitemap Google sitemap configuration
System -> Google Sitemap
12. Magento sitemap Magento sitemap configuration settings
System -> Catalog -> Sitemap -> Use Tree Like Category Sitemap -> “Yes”
System -> Catalog -> Sitemap -> Search Engine Optimizations -> Autogenerated Site Map -> Enable
Advanced
13. Remove SID from Magento URLs Be careful, this feature allows customers to stay logged in when switching between different multi-stores
System -> Configuration -> Web -> Session Validation Settings -> Use SID on Frontend -> No
14. Permanent redirect rules Permanent redirect rules for renamed products or categories
System -> Catalog -> Search Engine Optimizations -> Create Permanent Redirect for URLs if URL Key Changed -> “Yes”
Default values
15. Default SEO values Default values for title, Meta tags and robots directives
System -> Configuration -> Design -> HTML head -> Default Title
System -> Configuration -> Design -> HTML head -> Default Description
System -> Configuration -> Design -> HTML head -> Default Keywords
System -> Configuration -> Design -> HTML head -> Default Robots -> “INDEX, FOLLOW”
16. Default title separator Default page title separator on storefront
System -> Catalog -> Search Engine Optimizations -> Page Title Separator -> “-”
17. Default product URL suffix Default product URL suffix for all pages
System -> Catalog -> Search Engine Optimizations -> Product URL Suffix -> “.html”
System -> Catalog -> Search Engine Optimizations -> Category URL Suffix -> “.html”
GD Star Rating
loading...
GD Star Rating
loading...

Magento: Wie finde ich heraus ob ich auf der Startseite bin? – getIsHomePage

Ihr möchtet an beliebiger Stelle in Magento im Quellcode prüfen ob ihr auf der Startseite seit oder nicht?

Die Lösung

$is_homepage = Mage::getBlockSingleton('page/html_header')->getIsHomePage();

in der header.phtml :

<?php
if($this->getIsHomePage()) {
echo 'You are in Homepage!';
} else {
echo 'You are NOT in Homepage!';
}
?>

an anderer Stelle:

<?php
$is_homepage = Mage::getBlockSingleton('page/html_header')->getIsHomePage();
if($is_homepage)
{
echo "You are on Homepage!";
} else {
echo "You are NOT on Homepage!";
}
?>
oder
<?php
$routeName = Mage::app()->getRequest()->getRouteName();
$identifier = Mage::getSingleton('cms/page')->getIdentifier();
if($routeName == 'cms' && $identifier == 'home') {
echo 'You are in Homepage!';
} else {
echo 'You are NOT in Homepage!';
}
?>
GD Star Rating
loading...
GD Star Rating
loading...

Nützliche SEO- und Web-Tools – Ein Überblick

SEO Tool Sammlung

Diverse SEO Tools – linkvendor.com

Social Media Image Maker

Ein nützliches tool um für diverse Social-Media Bilder anzupassen.

www.autreplanete.com/ap-social-media-image-maker

Tool zum testen der Keyworddichte

www.werbeheini.de/seo-keyword-dichte.php

w3c validator

Der w3c validator zum überprüfen einer Webseite auf validen HTML-Code nach W3C-Standard.validator.w3.org

w3c link checker

validator.w3.org/checklink

 

Free Monitor for Google

Ein kostenlose Tool um für Ihre Webseiten die aktuelle Platzierung in der Suchmaschine Google anhand definierter Keywords heraus zu finden.Download Free Monitor for Google

301 redirect checker

Überprüft ob eine Seite per 301 weiter geleitet wird.

www.redirectchecker.com

www.ragepank.com/redirect-check

 Screaming Frog SEO Spider Tool

Der Screaming Frog ist ein SEO Spider, folglich macht er im Prinzip genau das, was sämtliche Suchmaschinen-Bots machen: Er crawlt die Links einer Domain und sammelt dabei SEO-relevante Daten.

Diese Daten lassen sich dann sortieren, filtern und Excel-freundlich exportieren. Als Desktopanwendung ist der Screaming Frog sowohl für Windows- als auch für Mac-User verfügbar. In der kostenlosen Version ist der Crawl-Umfang auf maximal 500 URLs begrenzt und auch die Einstellungsmöglichkeiten sind beschränkt. Nichtsdestotrotz sollte die kostenlose Variante für die Analyse kleinerer Projekte vollkommen ausreichend sein. Wem das doch nicht reicht, der kann für 99 Britische Pfund eine Jahreslizenz für die Vollversion erstehen.

www.screamingfrog.co.uk/seo-spider/

GD Star Rating
loading...
GD Star Rating
loading...

Magento: Fehler beim Anlegen der sitemap.xml – die Lösung zum Problem

Das Problem

Beim anlegen einer sitemap.xml im Magento-Admin-Backend erhaltet ihr, ab dem Moment wo ihr von dem Namen “sitemap.xml” abweicht ggf. eine Fehlermeldung wie z.B. die folgende “Der Pfad “/var/sitemaps/sitemap-de.xml” ist nicht verfügbar und kann nicht verwendet werden.” und das obwohl, der Pfad /var/sitemaps/ existiert und auch vom Webserver beschreibbar ist.

Ursache? Ggf. Magento-Bug …

Die Lösung

Legt pro sitemap ein Unterordner an, z.B. “/var/sitemaps/de/”, dort packt ihr jeweils die “sitemap.xml” rein (muss immer so heißen) und schon funktionierts.

GD Star Rating
loading...
GD Star Rating
loading...