Duplicate Content mit .htaccess verhindern

by zartgesotten on Oktober 25, 2011

Wie wir alle wissen… oder auch nicht ;-) mag Google keinen Duplicate Content. Was zur Hölle ist Duplicate Content? Eigentlich ist es meistens EIN Content, der aber unter verschiedenen Adressen gefunden werden kann.

So ist es bei vielen Providern so, dass eine Webseite sowohl unter ihrer Domäne www.domain.de als auch unter einer etwas kryptischeren Adresse wie z.B. http://webxyu.mein-provider.de zu erreichen ist.

Google erkennt das als den bösen Duplicate Content und fühlt sich damit hintergangen.  Es könnte ja tatsächlich pöse Puben geben, die glauben, wenn sie einen stichwortlastigen Inhalt nur oft genug an verschiedenen Stellen veröffentlichen, dann wird’s schon das Ranking hochtreiben.

Um also zu verhindern, dass Google auch die vom Provider (oft dem Kunden unbewusst) erstellte zweite Adresse ausliest bzw. mehrere Domänen auf eine umleitet…

Diesen Code in die .htaccess-Datei schreiben und gut ist!

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.meinedomain.de
RewriteRule ^(.*)$ http://www.meinedomain/$1 [L,R=301]

TinyMCE “stylesheets”-Dropdown nach eigenem Wunsch anpassen

by zartgesotten on Oktober 24, 2011

Für viele Kundenprojekte würde ich gerne dem Kunden ganz klar definierte Layout-Möglichkeiten bieten. Und NUR diese. Ich entferne in der Regel mittels Plugin “TinyMCE Advanced” alle nicht im Design vorgesehenen Formatierungsbuttons (wie “durchgestrichen”, “geordnete Liste” etc.) und möchte dann dem Kunden mittels “Stylesheets”-Dropdown die Möglichkeit geben ganz bestimmte Styles einfach anwenden zu können.

Das klappt seit einer Weile ja schon gut mittels editor-style.css, was aber daran noch stört ist, dass in der Styles-Liste “ungewollte” styles auftauchen, die ich dem Kunden eben nicht anbieten möchte.

Eine umfassende Beschreibung, um volle Kontrolle über die Styles zu erhalten habe ich bei einer Web-Kollegin alisothegeek.com gefunden. Damit erhält man die volle Kontrolle.

Mediterraner Quinoa-Salat

by zartgesotten on August 28, 2011

Im Rahmen meines kulinarischen Quinoa-Wochenendes entstand auch dieser Salat… muss ich es erwähnen? Gefunden bei Pinterest.com und im Original von Sproutedkitchen.com. (Gucken lohnt sich… tolle Bilder)

Zutaten:

  • 250 ml Quinoa, trocken
  • Broccoli (ich hatte eine Packung gefrorenen… kleine Packung)
  • 1 Packung Feta (in Würfel geschnitten)
  • 1 Glas geröstete rote Paprika (oder selbstgemacht)
  • 1 Gläschen Kapern ohne Saft
  • 250 ml Kichererbsen
  • 3 TL Petersilie, frisch, gehackt
  • 2 TL Oregano
  • Großzügige Menge Seesalz
  • Frisch gemahlener Pfeffer
  • 1 Zitrone
  • 1 EL gutes Olivenöl

Zubereitung:

Den Quionoa mit doppelter Wassermenge (500 ml) für ca 15 Minuten im abgedeckten Topf kochen. Den Broccoli kurz vor Ende der Garzeit dazugeben und mitkochen (man muss ja nicht zwei Pötte dreckig machen, oder?)

Die restlichen Zutaten schnippeln und in eine Schüssel geben (bis auf den Feta, der kommt zuletzt).

Den fertigen Quinoa in die Salatschüssel geben, alls vermengen und abschmecken. Ganz zuletzt den Feta dazu und nochmal vorsichtig rühren.

Kann warm und kalt genossen werden…



Hühnchen-Quinoa Curry

by zartgesotten on August 28, 2011

Und wieder ein Rezept, das ich bei Pinterest.com gefunden habe. Es stammt von onedishdinners.com und ist famos!

Zutaten:

  • 1 EL Olivenöl
  • 1- 1,5 Pfund Hühnerbrust, in Stücke geschnitten
  • 1 kleine (rote) Zwiebel, gewürfelt
  • 2 Knoblauchzehen gehackt
  • 1 kleine Dose Pizzatomaten
  • 1 EL Currypulver
  • 1/2 EL Chillipulver
  • 1 TL Muskat
  • ca. 500 Ml Wasser oder Brühe
  • 250 ml Quinoa
  • 200-300 g gefrorene Erbsen
  • Salz und Pfeffer

Zubereitung

Das Öl, die Hühnchenstücke, die Zwiebel und den Knoblauch in der (großen) Pfanne anbraten bis das Hühnchen fast gar ist.

Die Dose mit den Pizzatomaten hinzufügen (mit Saft), das Currypulver, Chillipulver und den Muskat dazugeben, Durchrühren und für ca. 5 Minuten kochen lassen.

Add the diced tomatoes, undrained, curry powder, chili powder and nutmeg. Stir until combined and let cook for about 5 minutes.

Das Wasser / die Brühe dazugeben und aufkochen lassen. Den Quionoa einrühren, einmal stark aufkochen lassen und dann auf mittlere Hitze reduzieren, Deckel drauf und für ca. 20 Minuten kochen lassen.

5 Minuten vor Ende der Zeit die Erbsen dazugeben.

Hitze ganz niedrig stellen und bis zum Servieren warm halten.

(Ergibt 4 Erwachsene Portionen)

Zitronen-Hühnerbrust aus dem Ofen

by zartgesotten on August 28, 2011

Dieses Rezept habe ich beim Surfen auf Pinterest.com gefunden. Es stammt von barefootcontessa.com . Ich habe es hier im Original übersetzt.

Zutaten:

  • ca. 60 ml gutes Olivenöl
  • ca. 5-10 Knoblauchzehen, gehackt
  • ca 80 ml trockenen Weißwein
  • 1 EL Zitronenschale (von 2 Zitronen)
  • 2 EL frisch gepresster Zitronensaft
  • 1½ TL getrockneter Oregano
  • 1 TL gehackten frischen Thymian
  • Salz und frischer Pfeffer
  • 4 Hühnerbrüste ohne Knochen
  • 1 Zitrone

Zubereitung:

Ofen auf 200° vorheizen

Das Olivenöl in einer kleinen Pfanne bei mittlerer Hitze aufheizen, den Knoblauch hinzufügen und für ca. 1 Minute anrösten. Darauf achten, dass der Knoblauch nicht braun wird.

Hitze abstellen, den Weißwein, die Zitronenschale, den Zitronensaft, Oregano, Thymian und 1 TL Salz hinzufügen und in eine flache Auflaufform geben.

Die Hühnerbrüste mit der Hautseite nach oben auf die Soße legen. Die Oberseite der Brust mit Olivenöl einreiben und großzügig mit Salz und Pfeffer würzen.

Die Zitrone in Achtel schneiden und die Achtel zwischen den Brüsten verteilen.

Für 30-40 Minuten backen bis das Hühnchen gar ist und die Haut leicht gebräunt ist. Nun die Auflaufform mit Alufolie dicht abdecken und für ca. 10 Minuten ruhen lassen. Nochmals mit Salz bestreuen und heiß mit der Soße servieren.

Anmerkungen:

Da ich es ja nicht lassen kann, fast jedes Rezept mit einem eigenen “Schliff” zu versehen oder (wie in diesem Fall) weil mir eine Zutat fehlt, habe ich es etwas abgewandelt gekocht. Ich hatte keinen Weißwein und habe stattdessen Rotwein genommen. Thymian war auch aus… Rosmarin geht auch. Zum Knoblauch am Anfang habe ich auch noch eine Handvoll Pinienkerne geworfen. Das hat sich als feine Idee herausgestellt. Aber was kann man bei Pinienkernen auch falsch machen?

Es hat auf jeden Fall sehr gut geschmeckt und wird sicherlich seinen Weg auf meine regelmässige Speisekarte finden. Super!

Custom Post Types und Taxonomien

by zartgesotten on August 10, 2011

Manchmal mag es recht nützlich sein, einen Custom Post Type anzulegen, der dann auch noch verschiedene Eigenschaften hat.

Das geht recht komfortabel über ein Plugin namens Custom Post Type UI , das sowohl das Anlegen des Custom Post Types als auch der dazu gehörigen Taxonomien einfach macht. Wenn man aber sicher gehen möchte, dass auch ohne den Einsatz eines Plugins der Custom Post Type vorhanden ist, kann man den auch durch einen Eintrag in der functions.php seines Themes erstellen.

function post_type_distributors() {
	register_post_type(
                'distributoren',
                array(
                    'label' => __('Distributoren'),
                    'public' => true,
                    'show_ui' => true,
                    'supports' => array(
					'title',
					'editor'
                     )
                )
        );

       register_taxonomy( 'regionen', 'distributoren',
		array(
             'hierarchical' => true,
			 'label' => __('Regionen'),
			 'query_var' => 'regionen',
			 'rewrite' => array('slug' => 'regionen' )
		)
	);

	register_taxonomy( 'branchen', 'distributoren',
		array(
             'hierarchical' => true,
			 'label' => __('Branchen'),
			 'query_var' => 'branchen',
			 'rewrite' => array('slug' => 'branchen' )
		)
	);

}
add_action('init', 'post_type_distributors');

3 Level WordPress Menu

by zartgesotten on Juli 21, 2011

Sicherlich könnte ein geübter Programmierer hier eine elegantere Lösung finden aber für meine Zwecke tut dieser Code genau, was er soll.

Ausgangsvoraussetzung: Ich habe eine WordPress-Seite mit drei Menüleveln.

Diese Grafik zeigt, welche Fälle es gibt und wie die Menüs sich verhalten sollen. In meinem Fall sollten die Menüs syntaktisch voneinander getrennt sein, also jedes Menülevel in einem eigenen “Code-Block”, der sich dann per CSS individuell stylen lässt.

CODE:

Nun zum Interessanten! Ein Teil des Codes muss nun in die Theme-Datei an die Stelle, an der das Menü auftauchen soll. Das könnte z.B. die header.php sein oder auch die sidebar.php.

<?php
	//Automatic Submenu
    global $wp_query;
 	//Wenn die Seite ein Grandparent ist, also keine Eltern hat...
    if( empty($wp_query->post->post_parent) )
      {
     		//Herausfinden ob es Kinder gibt...
			$ich=$wp_query->post->ID;
			$children = wp_list_pages("title_li=&child_of=$ich&echo=0");
				if ($children)
				{
					$parent1 = $wp_query->post->ID;
					//Menue ausgeben
					echo "<ul class='submenus'>";
					wp_list_pages("title_li=&child_of=$parent1&depth=1");
					echo "</ul>";
				}
     } 

    else
	//hat Eltern, ist also ein parent
     {
		$ich=$wp_query->post->ID;
		$children = wp_list_pages("title_li=&child_of=$ich&echo=0");
		//UND hat weitere Kinder
		if ($children)
		{
			$parent1 = $wp_query->post->post_parent;
			//MENUE 1 mit Geschwistern aktueller Seite (Kinder von $parent1)
			echo "<ul class='submenus'>";
			wp_list_pages("title_li=&child_of=$parent1&depth=1");
			echo "</ul>";

			$parent2 = $wp_query->post->ID;
			//Menue 2 mit Kindern aktueller Seite ($parent2)
			echo "<ul class='subsubmenu'>";
			wp_list_pages("title_li=&child_of=$parent2&depth=1");
			echo "</ul>";

		}
		else
		{
				if(get_grandpapa())
				{
					$parent1 = get_grandpapa();
					//MENUE 1 mit Geschwistern aktueller Seite (Kinder von $parent1)
					echo "<ul class='submenus'>";
					wp_list_pages("title_li=&child_of=$parent1&depth=1");
					echo "</ul>";

					$parent2 = $wp_query->post->post_parent;
					//Menue 2 mit Kindern aktueller Seite ($parent2)
					echo "<ul class='subsubmenu'>";
					wp_list_pages("title_li=&child_of=$parent2&depth=1");
					echo "</ul>";
				}
				else
				{
					$parent1 = $wp_query->post->post_parent;
					//NUR Menue 1 mit Geschwistern aktueller Seite (Kinder von $parent1)
					echo "<ul class='submenus'>";
					wp_list_pages("title_li=&child_of=$parent1&depth=1");
					echo "</ul>";
				}
		}
	}

	?>

Zusätzlich habe ich noch einen Schnipsel Code, den ich bei Stackxchange gefunden habe in die functions.php eingebaut.

//Three levels of hell... get ID of grandparent page
function get_grandpapa($page_id){
    $current_page = get_page( $page_id );
    if ($current_page->post_parent > 0){
        //has at least a parent
        $parent_page = get_page($current_page->post_parent);
        if ($parent_page->post_parent > 0){
            return $parent_page->post_parent;
        }else{
            return false;
        }
    }
    return false;
}

Dieser Schnipsel findet die ID der Großvaterseite heraus. So kann diese als Startpunkt für die Darstellung des Menüs verwendet werden.

Das war der ganze Zauber. So lässt sich WordPress als CMS nutzen.



Cremiger Zitronen-Crumble

by zartgesotten on Juli 3, 2011

Wieder ein feines Rezept aus den weiten des Internet. Originalrezept bei “The Girl who ate everything!”

Zutaten:

  • 1 ? Tasse Mehl
  • ½ TL Salz
  • 1 TL Backpulver
  • 1/2 Tasse  Butter,  weich
  • 1 Tasse brauner Zucker
  • 1 Tasse Haferflocken (ich habe die groberen genommen)
  • 1 Dose gesüßte Kondensmilch
  • ½ Tasse Zitronensaft
  • geriebene Zitronenschale

Ofen auf ca. 180 Grad vorheizen.

Butter und braunen Zucker gut vermischen.
Mehl, Salz und Backpulver zusammenrühren.
Haferflocken und Mehl zur Butter/Zucker-Mischung hinzufügen und mixen.

Die Hälfte der Haferflocken-Mischung auf den Boden einer Form pressen.

Gesüßte Kondensmilch, Zitronensaft und Zitronenschale vermischen. Die Masse auf dem Boden verteilen. Die andere Hälfte der Haferflocken-Mischung mit sauberen Händen kneten und wie Streusel auf der Masse verstreuen (nicht drücken).

Für 20-25 Minuten backen bis eine schöne goldene Färbung entstanden ist.

Die Form nach dem Backen für mindestens 30 Minuten auskühlen lassen. In Stücke schneiden und für ein paar Stunden im Kühlschrank aufbewahren.

Kühl servieren.

Limetten Käsekuchen aus der Mikrowelle

by zartgesotten on Juli 2, 2011

Dieses Rezept (Original Lime Cheesecake ) habe ich auf meiner Lieblings-Stöber-Seite pinterest.com gefunden und sofort ausprobiert. Ich war begeistert. Sehr schnell, einfach und funktioniert auch in meiner Silikon-Muffinform. Das macht dann echt hübsche kleine Küchlein, auf die man dann noch Himbeeren o.Ä. dekorieren kann.

Zutaten:

  • 3 EL (ca. 50 ml) Butter, geschmolzen
  • ca 125 ml Butterkeks-Krümel
  • 1 EL Zucker
  • 250-300 g Frischkäse
  • 75ml Zucker
  • Schale einer Limette
  • 2 EL frischen Limettensaft
  • 1 Ei

Die Kekskrümel (am Besten in der Küchenmaschine schreddern, ansonsten in eine Plastiktüte geben und mit einem schweren, stabilen Gegenstand kaputtdrücken) mit der geschmolzenen Butter und einem EL Zucker mischen. In die vorgesehenen Förmchen verteilen und festdrücken

Die restlichen Zutaten mischen bis eine glatte Masse entstanden ist. In die Förmchen auf den Keksboden verteilen.

Für 2-3 Minuten in die Mikrowelle stellen (bei mir waren es ca. 3:30 Minuten auf der zweithöchsten Stufe). Die Küchlein sind gut, wenn die Oberfläche trocken wirkt. Wenn es nach der angegebenen Zeit noch nicht so ist, einfach in 30-Sekunden Schritten wiederholen.

Abkühlen lassen und für min. 1 Stunde in den Kühlschrank stellen.

Am Besten schmecken die Küchlein bei Raumtemperatur. Lecker dazu sind Beeren (Himbeeren .. hmmm)

Gude!

Private Seiten im Menü anzeigen

by zartgesotten on Mai 29, 2011

Problem:

Der Standard-Aufruf von Seitenmenüs in WordPress listet keine privaten Seiten. Die möchte ich aber gerne anzeigen lassen. Z. B bei Einrichtung eines privaten Benutzerbereiches.

Das Problem lässt sich z.B. mit einer Änderung der Core-Dateien regeln in der die Abfrage geändert wird. DAS will ich aber auf keinen Fall. Eine andere Lösung, die ich in einem Forum gefunden habe war eine Abfrage auf das Recht des Benutzers, private Seiten zu lesen und dann das manuelle Einfügen von Links. Auch das möchte ich nicht. Es soll doch bittschön auch komfortabel sein.

Diese Abfrage auf das Benutzerrecht hat mich aber auf eine Idee gebracht. Und hier ist meine Lösung:

1. In der Functions.php einen neuen Menübereich anlegen

function my_custom_menus() {
   register_nav_menus(
    array(
      'private-menu' => __( 'Private Seiten' )
	)
    );
}

2. Ein neues Menü mit den gewünschten Seiten erstellen

3. den folgenden Code in die Theme-Datei packen:

<?php // add private menu to your navigation menu
if(current_user_can('read_private_pages')) {
    wp_nav_menu( array( 'theme_location' => 'private-menu'));
 } ?>

Damit werden nach Anmeldung eines berechtigten Benutzers die Privaten Seiten angezeigt.