Mit AJAX kannst du Inhalte dynamisch nachladen ohne die Seite neu zu laden. Hier zeige ich dir, wie es in WordPress funktioniert.
1. JavaScript vorbereiten
// In deiner JS-Datei:
jQuery(document).ready(function($) {
$('#load-more').on('click', function() {
var button = $(this);
var page = button.data('page');
$.ajax({
url: ajax_object.ajax_url,
type: 'POST',
data: {
action: 'load_more_posts',
page: page,
nonce: ajax_object.nonce
},
beforeSend: function() {
button.text('Lädt...');
},
success: function(response) {
if (response.success) {
$('#posts-container').append(response.data.html);
button.data('page', page + 1);
button.text('Mehr laden');
}
}
});
});
});
2. Script einbinden mit Localize
// In functions.php:
add_action('wp_enqueue_scripts', 'enqueue_ajax_scripts');
function enqueue_ajax_scripts() {
wp_enqueue_script('my-ajax', get_stylesheet_directory_uri() . '/js/ajax.js',
array('jquery'), '1.0', true);
wp_localize_script('my-ajax', 'ajax_object', array(
'ajax_url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('ajax_nonce')
));
}
3. AJAX Handler in PHP
add_action('wp_ajax_load_more_posts', 'load_more_posts');
add_action('wp_ajax_nopriv_load_more_posts', 'load_more_posts');
function load_more_posts() {
// Nonce prüfen!
if (!wp_verify_nonce($_POST['nonce'], 'ajax_nonce')) {
wp_send_json_error('Ungültige Anfrage');
}
$page = intval($_POST['page']);
$args = array(
'post_type' => 'post',
'posts_per_page' => 6,
'paged' => $page
);
$query = new WP_Query($args);
ob_start();
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
get_template_part('template-parts/post-card');
}
}
$html = ob_get_clean();
wp_send_json_success(array('html' => $html));
}
Wichtige Sicherheitshinweise
- Immer Nonce verwenden!
- Input validieren und sanitizen
- Capabilities prüfen bei Admin-Aktionen
AJAX macht deine Website interaktiver – aber vergiss nie die Sicherheit!
Praxisbeispiel: Live-Suche ohne Seitenreload
Ein häufiger Anwendungsfall aus meinen Kundenprojekten: Eine Echtzeit-Suche die Ergebnisse sofort anzeigt während der Nutzer tippt — ohne die Seite neu zu laden. Das Prinzip: JavaScript fängt die Tastatureingabe ab, sendet per AJAX eine Anfrage an eine PHP-Funktion, die die Datenbank durchsucht und HTML-Ergebnisse zurückgibt. Der Client rendert die Ergebnisse in einem Dropdown. Performance-Tipp: Debouncing einbauen (erst nach 300ms Tipp-Pause die Anfrage senden), damit nicht bei jedem Buchstaben ein Request geht.
Sicherheit bei AJAX-Requests
AJAX-Requests in WordPress MÜSSEN über einen Nonce abgesichert werden. Ohne Nonce kann jeder externe Script Anfragen an deinen Endpoint senden — das ist ein offenes Einfallstor. Zusätzlich: Input immer serverseitig validieren und sanitizen (sanitize_text_field(), absint(), wp_kses()). Und: Berechtigungsprüfung mit current_user_can() wenn der Endpoint nur für eingeloggte Nutzer sein soll. Diese Sicherheitsmaßnahmen sind nicht optional — sie sind Pflicht.
AJAX vs. REST API: Wann was nutzen?
WordPress hat seit Version 4.7 eine vollwertige REST API. Für neue Projekte empfehle ich die REST API statt des alten admin-ajax.php-Ansatzes: Sie ist schneller (kein WordPress-Admin-Bootstrap), standardisierter (JSON statt HTML), und besser für moderne JavaScript-Frameworks geeignet. Der admin-ajax.php-Ansatz funktioniert weiterhin und ist für Legacy-Projekte absolut okay — aber für neue Entwicklungen ist die REST API der modernere Weg.
SEO ist ein Marathon, kein Sprint
Die Maßnahmen in diesem Artikel wirken — aber nicht über Nacht. Technisches SEO zeigt oft nach 4–8 Wochen erste Ergebnisse. Content-SEO braucht 3–6 Monate. Und lokales SEO kann nach dem Optimieren des Google Business Profiles und dem Sammeln erster Bewertungen innerhalb von 2–3 Monaten messbare Verbesserungen bringen. Wichtig ist: Dranbleiben und regelmäßig messen. Google Search Console ist dein bester Freund — dort siehst du genau für welche Keywords du rankst, welche Seiten Traffic bekommen und wo Verbesserungspotenzial liegt.
Du willst SEO-Ergebnisse sehen, ohne alles selbst zu machen? Kontaktiere mich für ein unverbindliches Erstgespräch. Ich analysiere deine aktuelle Sichtbarkeit und zeige dir die 3 Maßnahmen mit dem größten Hebel. Als Webentwickler kann ich SEO-Empfehlungen nicht nur aussprechen, sondern direkt umsetzen — das ist der Vorteil wenn Technik und Strategie aus einer Hand kommen.