Bugün ki yazımda sizlere artık sitemde BuddyPress kullandığımdan bahsetmiştim. Orada BuddyPress’in bir sorununa değinmiş, bunun SEO için pek de iyi bir şey olmadığını söylemiştim.

Sorunumuz şuydu: Google arama sonuçlarında grup başlıkları aşağıdaki şekilde çıkıyordu.

Ana Sayfa – Grup başlığı – Site adı

Evet tüm oluşturduğumuz grupların başlıkları Google üzerinde ön tarafında bir “Ana Sayfa” yazısıyla çıkıyordu. Biz ise SEO uyumlu olması için bu şekilde olmasını istiyorduk.

Grup başlığı – Ana Sayfa – Site adı

Bunu yapmak için aşağıdaki kod bloğunu kullandık öncelikle fakat bu kodlar bizim için yeterli olmadı. Çünkü sadece “title”nin başındaki “Ana Sayfa” yazısını kaldırıyordu. Elbette bizim için yeterli değildi. Nedeni ise alt sayfalar ile ana sayfa başlıkları hep aynı olmuştu. Grup başlıkları şu şekle geldi: Grup adı – Site adı

add_filter( 'bp_get_title_parts', function ( $bp_title_parts ) {

	if ( bp_is_group() ) {
		$bp_title_parts = buddypress()->bp_options_title;
	}

	return $bp_title_parts;
} );

Daha sonra kullandığımız kod bloğunu ise kesin çözüm oldu bizim için.

Grup başlığı – Ana Sayfa – Site adı olduğu gibi alt sayfalar da şu şekle geldi.

  • Grup başlığı – Bilgi – Site adı
  • Grup başlığı – Üyeler – Site adı

Bu da son kullandığımız kod bloğu. Ben şuan bunu kullanıyorum.

add_filter( 'bp_get_title_parts', function ( $bp_title_parts ) {
	$bp = buddypress();

	if ( bp_is_group() ) {

		$component_id = bp_current_component();

		if ( ! empty( $bp->{$component_id}->nav ) ) {
			$secondary_nav_item = $bp->{$component_id}->nav->get_secondary(
				array(
					'parent_slug' => bp_current_item(),
					'slug'        => bp_current_action(),
				),
				false
			);

			if ( $secondary_nav_item ) {
				$secondary_nav_item = reset( $secondary_nav_item );
			}
		}

		$single_item_subnav = '';

		if ( ! empty( $secondary_nav_item->name ) ) {
			$single_item_subnav = $secondary_nav_item->name;
		}

		$bp_title_parts = array( $bp->bp_options_title, $single_item_subnav );

		$bp_title_parts = array_map( '_bp_strip_spans_from_title', $bp_title_parts );
	}

	return $bp_title_parts;
} );

Peki istediğimiz kod bloğunu nereye ekleyeceğiz. Bunun için cPanel’de dosya yöneticisini açalım. Daha sonra “/wp-content/plugins” yolunu takip ederek “plugins” klasörünün içerisindeki “bp-custom.php” dosyasını bulalım yoksa kendimiz oluşturalım. Yukarıdaki kod bloğunu ekleyelim.

Bu yazının hazırlanmasında emeği geçen Ravi‘ye teşekkürler.