Eklenti Olmadan WordPress'te Site Haritası Nasıl Oluşturulur?
Site haritaları, sitenizin gönderileri, sayfaları, videoları, medya dosyaları hakkındaki tüm bilgileri içerir ve birbirleriyle olan ilişkilerini gösterir. Arama Motorları için faydalıdırlar, örneğin Google, web sitenizi daha etkili bir şekilde taramak için. Tahmin edebileceğiniz gibi, bu yazıda WordPress'te eklenti olmadan nasıl site haritası oluşturulacağını açıklayacağız.
Bir Site Haritasına Ne Zaman İhtiyacım Var?

Sitenizin sayfaları doğru şekilde bağlanırsa, Google büyük olasılıkla web sitenizin en büyük bölümünü tarar. Bu, tüm önemli sayfalarda uygun formda gezinileceği anlamına gelir. Bu durumda bile site haritası çok etkili olabilir. Yine de, burada kesinlikle bir site haritasına ihtiyacınız olan bazı durumlar var. Ayrıca, bu bileşeni web sitenizde bulundurmak, bir şekilde Arama Motorunu sitenizi taramaya "davet edecektir".
- Büyük Site : Bu durumda, kullanıcılar web sitenizin sayfalarının yalnızca küçük bir bölümünü tarayabilir. Ve büyük olasılıkla yakın zamanda yayınlanan yazılar veya sayfalar olacaktır.
- Birbiriyle bağlantılı olmayan izole içerik sayfaları: Bu durumda, Arama Motorunun kolayca keşfetmesi için bu sayfaları site haritası içinde belirtebilirsiniz.
- Yeni web sitesi ve harici bağlantıların eksikliği: Çoğu durumda, SE tarayıcıları, birbirlerine bağlıysa şu veya bu web sitesi sayfasını bulur. Bu, dış bağlantıların Google'ın web sitenizi bulması için önemli bir rol oynadığı anlamına gelir.
- Birçok medya dosyası var
- Siteniz Google Haberler'de gösteriliyor
Bu iki durumda Google, site haritasından tüm bilgileri alıp arama hesabına getirebilir.
Web Sitenizdeki Site Haritası Türleri
Web sitenizde oluşturmadan ve uygulamadan önce belirli adımları geçmeniz gerekir. Burada talimatların hangileri olduğunu biliyor olabilirsiniz:
- Site haritanız için hangi formatı istediğinize karar verin .
- Site haritası oluşturma yöntemini seçin . Manuel veya otomatik olarak yapabilirsiniz.
- Arama Motoru için kullanılabilir hale getirin. Bu, robots.txt dosyanıza ekleyerek yönetilebilir. Başka bir yol da onu Search Console'a göndermektir.
İlk noktaya atıfta bulunarak, farklı türde Site Haritası biçimleri olduğunu bilmelisiniz:
- XML
- mRSS
- RSS
- atom 1.0
- Metin
Tüm bu biçimler, sıkıştırılmamış ve ayrıca 50000 URL içeren 50 MB'lık bir site haritasıyla sınırlıdır. Daha fazla URL istiyorsanız veya daha büyük boyutlu bir medya dosyanız varsa, tek bir site haritasını birden çok siteye bölmeniz veya sadece bir site haritası dizini oluşturmanız gerekir.
XML Biçimi
XML veya Genişletilebilir İşaretleme Dili, hem insanlar hem de otomatik makineler tarafından okunabilen tek bir formatta belgeler için kodlama kurallarını belirler. Burada formatın site haritası şemasını görebilirsiniz:
- Başlangıçta < urlset > etiketini eklemeniz gerekir.
- Sonunda, < /urlset > etiketini eklemelisiniz.
- Ad alanı < urlset > etiketi içinde belirtilmelidir.
- Giriş bölümünde, girilen URL'lerin her biri için bir üst XML etiketi olarak < url > ekleyin.
- Ve < url > ana etiketlerinin her biri için bir < loc > alt girişi eklemelisiniz.
Burada tek bir XML site haritası örneğini görebilirsiniz:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.example.com/</loc> <lastmod>2005-01-01</lastmod> <changefreq>monthly</changefreq> <priority>0.8</priority> </url> </urlset>
mRSS, RSS, Atom 1.0 biçimleri
Blogunuzun web beslemesi RSS, mRSS veya Atom içeriyorsa, beslemenin URL'sini site haritası olarak gönderebilirsiniz. Bilmen gereken 2 gerçek var. Birincisi, Google veya genel olarak Arama Motoru RSS 2.0 ve Atom 1.0'ı tanıyabilir (bu, alternatif sürümü olarak RSS geliştiricileri tarafından oluşturulmuştur). Ayrıca, bir medya RSS'si olan mRSS'yi kullanabilirsiniz. Bu, sitenizin video ve medya içeriği hakkında ayrıntılı bilgi vermenizi sağlar.
Metin Biçimi
Yalnızca web sayfası URL'lerini içeren bir site haritası oluşturacaksanız, her satırda tek bir URL içeren yalnızca bir metin dosyası sağlayabilirsiniz. Ancak bu durumda URL'ler dışında hiçbir şey eklememelisiniz. Örneğin:
- https://wpglob.com/
- https://wpglob.com/blog/
WP'de site haritası oluştururken göz ardı etmemeniz gereken bazı noktalar.
- Nitelikli URL'ler kullanın.
- URL'den Oturum Kimliğini dahil etmeyin
- SE'yi çok dilli URL'lerin kullanılabilirliği konusunda bilgilendirin.
- Site haritası dosyalarını UTF-8 ile kodlayın.
- Büyük site haritalarını bölün.
- Yalnızca standart URL'leri dahil edin.
WordPress sitesinde Site Haritası Oluşturma
Çoğu durumda, örneğin WordPress gibi bir İçerik Yönetim Sistemi kullandığınızda, CMS'nin SE için zaten bir site haritası oluşturmuş olması daha olasıdır.
Yine de, değilse, onu kendiniz oluşturmanız gerekir.
Bu nedenle, site haritalarının en iyi işlevlerini ve farklı türlerini ortaya çıkardıktan sonra, eklenti olmadan WP siteniz için bir tane oluşturmanın zamanı geldi. Bu noktada XML site haritalarını tartışacağız.
İşte size çok yardımcı olabilecek adım adım bir kılavuz talimat.
Aşama 1
Öncelikle tüm WP tema özelliklerinizi kaydettiğiniz “ function.php ” dosyasına girmelisiniz. Bunun için “ Görünüm ”-“ Tema Düzenleyici ” bölümlerine girip sayfanın sağ tarafından “ Tema işlevleri ”ni seçerek açmanız gerekmektedir.


Adım 2
İşleme devam ederken, bu kodu “ function.php ” dosyanıza eklemeniz gerekiyor.
/* ------------------------------------------------------------------------- * * WordPress Dynamic XML Sitemap Without Plugin * Codes By Emrah Gunduz & All In One SEO * Updated And Edited By EXEIdeas /* ------------------------------------------------------------------------- */ add_action("publish_post", "eg_create_sitemap"); add_action("publish_page", "eg_create_sitemap"); function eg_create_sitemap() { $postsForSitemap = get_posts(array( 'numberposts' => -1, 'orderby' => 'modified', 'post_type' => array('post','page'), 'order' => 'DESC' )); $sitemap = '<?xml version="1.0" encoding="UTF-8"?>'; $sitemap .= '<?xml-stylesheet type="text/xsl" href="sitemap-style.xsl"?>'; $sitemap .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; foreach($postsForSitemap as $post) { setup_postdata($post); $postdate = explode(" ", $post->post_modified); $sitemap .= '<url>'. '<loc>'. get_permalink($post->ID) .'</loc>'. '<priority>1</priority>'. '<lastmod>'. $postdate[0] .'</lastmod>'. '<changefreq>daily</changefreq>'. '</url>'; } $sitemap .= '</urlset>'; $fp = fopen(ABSPATH . "sitemap.xml", 'w'); fwrite($fp, $sitemap); fclose($fp); }
Aşama 3
Kodu uygun bölüme yapıştırdıktan sonra bir dosya oluşturup “ sitemap-style.XSL ” olarak adlandırmalısınız.
4. Adım
İşte yeni oluşturulan dosyaya yapıştırılması gereken başka bir kod. Ardından, yeni gönderi veya sayfanın eskisinin yerini alması için dosyayı aynı adla kaydetmelisiniz.
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes" /> <xsl:template match="/"> <xsl:variable name="fileType"> <xsl:choose> <xsl:when test="//sitemap:url">Sitemap</xsl:when> <xsl:otherwise>SitemapIndex</xsl:otherwise> </xsl:choose> </xsl:variable> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title><xsl:choose><xsl:when test="$fileType='Sitemap'">Sitemap</xsl:when><xsl:otherwise>Sitemap Index</xsl:otherwise></xsl:choose></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> body { font-family: Helvetica, Arial, sans-serif; font-size: 68.5%; } table { border: none; border-collapse: collapse; } table { font-size: 1em; width: 100%; } th { text-align: left; padding: 5px; } tr.stripe { background-color: #f7f7f7; } </style> </head> <body> <div> <h1>XML Sitemap By EXEIdeas</h1> <div> <p> <xsl:choose> <xsl:when test="$fileType='Sitemap'"> This sitemap contains <xsl:value-of select="count(sitemap:urlset/sitemap:url)"></xsl:value-of> URLs</xsl:when> <xsl:otherwise>This sitemap index contains <xsl:value-of select="count(sitemap:sitemapindex/sitemap:sitemap)"></xsl:value-of> sitemaps</xsl:otherwise> </xsl:choose> </p> </div> <xsl:choose> <xsl:when test="$fileType='Sitemap'"><xsl:call-template name="sitemapTable" /></xsl:when> <xsl:otherwise><xsl:call-template name="siteindexTable" /></xsl:otherwise> </xsl:choose> </div> </body> </html> </xsl:template> <xsl:template name="siteindexTable"> <table cellpadding="3"> <thead> <tr> <th width="50%">URL</th> <th>LastChange</th> </tr> </thead> <tbody> <xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'" /> <xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> <xsl:for-each select="sitemap:sitemapindex/sitemap:sitemap"> <tr> <xsl:if test="position() mod 2 != 1"><xsl:attribute name="class">stripe</xsl:attribute></xsl:if> <td> <xsl:variable name="itemURL"><xsl:value-of select="sitemap:loc" /></xsl:variable><a href="{$itemURL}"><xsl:value-of select="sitemap:loc" /></a> </td> <td><xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)))" /></td> </tr> </xsl:for-each> </tbody> </table> </xsl:template> <xsl:template name="sitemapTable"> <table cellpadding="3"> <thead> <tr> <th width="50%">URL</th> <th>Priority</th> <th>Change Frequency</th> <th>LastChange</th> </tr> </thead> <tbody> <xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'" /> <xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> <xsl:for-each select="sitemap:urlset/sitemap:url"> <tr> <xsl:if test="position() mod 2 != 1"><xsl:attribute name="class">stripe</xsl:attribute></xsl:if> <td> <xsl:variable name="itemURL"><xsl:value-of select="sitemap:loc" /></xsl:variable><a href="{$itemURL}"><xsl:value-of select="sitemap:loc" /></a> </td> <td> <xsl:if test="string(number(sitemap:priority))!='NaN'"><xsl:value-of select="concat(sitemap:priority*100,'%')" /></xsl:if> </td> <td><xsl:value-of select="concat(translate(substring(sitemap:changefreq, 1, 1),concat($lower, $upper),concat($upper, $lower)),substring(sitemap:changefreq, 2))" /></td> <td><xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)))" /></td> </tr> </xsl:for-each> </tbody> </table> </xsl:template> </xsl:stylesheet>
XML Site Haritasını Google'a Gönderme
XML site haritanızı başarıyla oluşturduysanız, onu Arama Motorlarına gönderebilirsiniz. Ancak ilk etapta, sitenin sahibini Google Arama Konsolu üzerinden doğrulamanız ve ardından WP web sitesi site haritanızı Google'a yüklemeniz gerekir.
Site haritanızı kontrol etmek veya görüntülemek için Google Arama Konsoluna geçebilir ve web sitenizi arayabilirsiniz. Ardından “ Dizin ” ve “ Site Haritaları ” bölümlerine gidin. Site haritası URL'nizi uygun alana girdikten sonra “ Gönder ” düğmesine tıklamanız gerekir. Sayfalarınızı taramak ve web sitenizin site haritası gönderimine başarılı bir şekilde devam etmek birkaç gün sürecektir.
Özetliyor
Sonuç olarak, site haritalarının web siteniz için çok etkili olabileceğini not etmenizi isteriz. Arama Motoruna yönlendirilen benzersiz bir “davetiye” türü oldukları için. Hepsi, web sitenizin en önemli sayfalarını veya tüm sayfalarını içerir. Bu nedenle, Arama Motorunun web sitenizi etkili bir şekilde taramasını istiyorsanız, bunun için tek bir site haritası oluşturmanızın tam zamanı.
Bu yazıda, eklentilerin yardımı olmadan WP sitenize manuel olarak nasıl site haritası ekleyeceğinizi tartıştık. Ancak öncelikle site haritalarının türleri hakkında sizi bilgilendirdik, örneğin:
- XML
- RSS, mRSS, Atom 1.0
- Metin
Ve bundan sonra bahsi geçen kodları kullanarak manuel olarak bir XML site haritası oluşturduk.
Bu nedenle, söz konusu talimatları izler ve adım adım kılavuzda belirtilen tüm noktaları uygularsanız, geliştiricinin yardımı olmadan bile kesinlikle başarılı olursunuz.
Makaleyi beğendiyseniz, bizi Facebook ve Twitter'da bulmaktan çekinmeyin . İlginç WP eğitimleri için lütfen YouTube kanalımıza abone olun.
ev borcu WordPress sitesi