Markdown, içeriklerin hem arama motorları hem de yapay zeka sistemleri tarafından daha kolay anlaşılmasını sağlayan hafif ve semantik bir biçimlendirme dilidir. GEO çalışmalarında içerik yapısını sadeleştirir, taranabilirliği artırır ve LLM'lerin sayfayı daha düşük token maliyetiyle işlemesine yardımcı olur. Özellikle içeriklerin markdown çıktısının kontrollü şekilde sunulması, yapay zeka görünürlüğünü desteklerken teknik uygulamada yeni indexlenebilir URL'ler oluşturmamaya dikkat edilmelidir.
Markdown Nedir?
Markdown, 2004 yılında John Gruber tarafından oluşturulan, basit ve hafif bir işaretleme dilidir. Metin dosyalarında biçimlendirme yapmak için #, *_, _, [] gibi basit semboller kullanır. HTML'ye dönüştürülebilir ve sürüm kontrol sistemleriyle uyumludur.
Aslında yıllardan beri hayatımızda olan markdown yapısı son günlerde zirvesini yaşıyor desek yeridir. Özellikle yapay zeka botlarının sayfaları taramak için daha az token harcamasını sağlamak için sayfayı çok daha net bir şekilde anlatabilceğimiz yollar aramaya başlamıştık. Bu noktada markdown yapısı devreye girdi!
Markdown'ın popülarite kazanmasının nedenleri arasında şunlar yer alır:
- Okunabilirlik: Kaynak kodu bile insan tarafından kolayca okunabilir.
- Taşınabilirlik: Farklı platformlarda sorunsuz çalışır.
- Sürüm Kontrolü: Git gibi sistemlerle mükemmel entegrasyon sağlar.
- Hız: Yazarlar daha hızlı içerik üretebilir.
- SEO Uyumluluğu: Doğru yapılandırıldığında arama motorları tarafından mükemmel şekilde okunur.
Markdown, içerik yönetim sistemlerinden (CMS) bağımsız, taşınabilir ve arama motorları tarafından kolayca indexlenen içerik oluşturmayı sağlar.
GEO Çalışmalarında Markdown Ne İşe Yarar?
Markdown, GEO çalışmalarında oldukça pratik ve güçlü bir araçtır. Temiz ve sade kod yapısı sayesinde içerikler daha düzenli hale gelirken, hızlı üretim imkanı da sağlar. Arama motorlarının ve yapay zeka botlarının kolayca anlayabilceği semantik bir yapı sunarak, içeriklerin daha iyi taranmasına ve yapılandırılmış verinin güçlenmesine katkıda bulunur.
LLM'ler Markdown Özelliğini Destekliyor mu?
Evet, yapay zeka botları markdown özelliğini destekliyor.
Markdown Nasıl Oluşturulur?
Yapay zeka botları için markdown oluşturmanın farklı yolları mevcut. Bugün en bilinen 2 yöntemden bahsedceğiz.
Cloudflare
Cloudflare geçtiğimiz günlerde bu özelliği duyurmuştu. Cloudflare kullananlar tek bir tuşla bu özelliği aktif hale getirebilecek.
Online Araçlar
Ücretsiz markdown oluşturmak için internetteki çeşitli siteleri deneyebilirsiniz.
Kod ile Çevirme
WordPress sitelerde içerikler .md formatına dönüştüren kodu aşağıda bulabilirsiniz.
<?php
/**
* Plugin Name: Markdown Page Export
* Description: Her sayfa/post URL'sine .md eklendiğinde Markdown döndürür + "Sayfayı Markdown Olarak Görüntüle" butonu ekler.
* Version: 1.6
*/
if (!defined('ABSPATH')) exit;
// ─────────────────────────────────────────────
// 1. .md URL'lerini yakala
// ─────────────────────────────────────────────
add_action('init', function () {
add_rewrite_rule('^(.+)\\.md$', 'index.php?md_export=1&md_slug=$matches[1]', 'top');
add_rewrite_tag('%md_export%', '([^&]+)');
add_rewrite_tag('%md_slug%', '([^&]+)');
});
register_activation_hook(__FILE__, fn() => flush_rewrite_rules());
register_deactivation_hook(__FILE__, fn() => flush_rewrite_rules());
// ─────────────────────────────────────────────
// 2. .md isteği gelince Markdown döndür
// ─────────────────────────────────────────────
add_action('template_redirect', function () {
if (!get_query_var('md_export')) return;
$slug = get_query_var('md_slug');
if (!$slug) { status_header(404); echo "# 404\n"; exit; }
$post_name = basename(rtrim($slug, '/'));
$posts = get_posts([
'name' => $post_name,
'post_type' => ['post', 'page'],
'post_status' => 'publish',
'posts_per_page' => 1,
]);
$post = $posts ? $posts[0] : null;
if (!$post) {
$post = get_page_by_path($post_name, OBJECT, ['post', 'page']);
}
if (!$post) { status_header(404); echo "# 404\n"; exit; }
$html = apply_filters('the_content', $post->post_content);
$markdown = convertHtmlToMarkdown($html);
header('Content-Type: text/markdown; charset=utf-8');
header('Content-Disposition: inline; filename="' . $post->post_name . '.md"');
echo $markdown;
exit;
});
// ─────────────────────────────────────────────
// 3. HTML → Markdown Dönüştürücü
// ─────────────────────────────────────────────
function convertHtmlToMarkdown($html) {
$html = preg_replace('/<script[^>]*>.*?<\/script>/si', '', $html);
for ($i = 1; $i <= 6; $i++) {
$prefix = str_repeat('#', $i) . ' ';
$html = preg_replace('/<h' . $i . '[^>]*>(.*?)<\/h' . $i . '>/si', "\n{$prefix}$1\n", $html);
}
$html = preg_replace('/<strong[^>]*>(.*?)<\/strong>/si', '**$1**', $html);
$html = preg_replace('/<b[^>]*>(.*?)<\/b>/si', '**$1**', $html);
$html = preg_replace('/<em[^>]*>(.*?)<\/em>/si', '*$1*', $html);
$html = preg_replace('/<i[^>]*>(.*?)<\/i>/si', '*$1*', $html);
$html = preg_replace('/<a[^>]*href=["\']([^"\']*)["\'][^>]*>(.*?)<\/a>/si', '[$2]($1)', $html);
$html = preg_replace('/<img[^>]*src=["\']([^"\']*)["\'][^>]*alt=["\']([^"\']*)["\'][^>]*\/?>/si', '', $html);
$html = preg_replace('/<img[^>]*src=["\']([^"\']*)["\'][^>]*\/?>/si', '', $html);
$html = preg_replace('/<pre[^>]*><code[^>]*>(.*?)<\/code><\/pre>/si', "\n```\n$1\n```\n", $html);
$html = preg_replace('/<code[^>]*>(.*?)<\/code>/si', '`$1`', $html);
$html = preg_replace('/<li[^>]*>(.*?)<\/li>/si', "- $1\n", $html);
$html = preg_replace('/<p[^>]*>(.*?)<\/p>/si', "\n$1\n", $html);
$html = preg_replace('/<br[^>]*\/?>/si', "\n", $html);
$html = preg_replace('/<hr[^>]*\/?>/si', "\n---\n", $html);
$html = strip_tags($html);
$html = html_entity_decode($html, ENT_QUOTES | ENT_HTML5, 'UTF-8');
$html = preg_replace('/\/\*!?\s*elementor.*?\*\//si', '', $html);
$html = preg_replace('/\.elementor[\w\-,\s\.\(\):=>~\[\]"\'#\+\*]+\{[^}]*\}/m', '', $html);
$html = preg_replace('/\{\s*"@context"\s*:.*?\}\s*\]/si', '', $html);
$html = preg_replace('/\n{3,}/', "\n\n", $html);
return trim($html);
}
// ─────────────────────────────────────────────
// 4. Buton — Sadece sidebar üstü
// ─────────────────────────────────────────────
add_action('wp_footer', function () {
if (!is_single() && !is_page()) return;
?>
<script>
(function() {
function insertButton() {
if (document.getElementById('cpbtn-kn-sidebar')) return;
var sidebar = document.querySelector('aside.sidebar');
if (!sidebar) return;
var wrap = document.createElement('div');
wrap.style.cssText = 'margin:0 0 20px 0';
wrap.innerHTML = '<button id="cpbtn-kn-sidebar" style="display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:13px;color:#374151;width:100%;justify-content:center;">'
+ '<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline></svg>'
+ 'Sayfayı Markdown Olarak Görüntüle'
+ '</button>';
wrap.querySelector('button').addEventListener('click', function() {
var btn = document.getElementById('cpbtn-kn-sidebar');
var mdUrl = window.location.href.replace(/\/$/, '').replace(/#.*$/, '') + '.md';
btn.textContent = 'Yükleniyor...';
btn.disabled = true;
fetch(mdUrl)
.then(function(res) { return res.text(); })
.then(function(text) {
navigator.clipboard.writeText(text).then(function() {
btn.textContent = 'Kopyalandı!';
setTimeout(function() {
btn.innerHTML = '<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline></svg> Sayfayı Markdown Olarak Görüntüle';
btn.disabled = false;
}, 2000);
});
})
.catch(function() {
btn.textContent = 'Hata!';
btn.disabled = false;
});
});
sidebar.insertBefore(wrap, sidebar.firstChild);
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', insertButton);
} else {
insertButton();
}
window.addEventListener('load', insertButton);
})();
</script>
<?php
});
Eklenen kod, özelliğin blog içeriklerinde sidebar bölümüne buton olarak eklenmesini sağlar.
Markdown Nasıl Gözükür?
---
title: "Markdown SEO Optimizasyonunun Kapsamlı Rehberi"
description: "Markdown formatını kullanarak web sayfalarınızı arama motorları için optimize etme yöntemleri"
author: "Tahsin Altıntaş"
date: "2026-04-14"
---
Markdown SEO Optimizasyonunun Kapsamlı Rehberi
İçerik burada başlar…
Markdown dönüştürücü yapay zeka botları için avantajlı gözükse de dikkatli kullanılmalıdır. Buton kullanımı sonrasında .md uzantılı yeni bir link oluşmamalı, açılmamalıdır.