moncen adlı üyeden alıntı: mesajı görüntüle
Tam olarak ne dediniz de yazdı hocam
Bana da lazım İndex api
öyle bir iki demeyle yazmıyor hocam. canından bezdirdim


aşağıdaki kodu sitenizde ftp den bir klasör oluşturun indexle diye sonra içine bu kodu indexle.php diye kaydedin.

<?php
// Hata raporlamayı aç
ini_set('display_errors', 1);
error_reporting(E_ALL);

// Google Service Account JSON dosyasını yükle
$serviceAccountFile = 'service-account.json';

// Google OAuth 2.0 Token almak için cURL ile kimlik doğrulaması
function getAccessToken($serviceAccountFile) {
    // JSON dosyasını oku
    $credentials = json_decode(file_get_contents($serviceAccountFile), true);

    // OAuth 2.0 Token almak için gerekli parametreler
    $postData = [
        'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer',
        'assertion' => generateJWT($credentials)
    ];

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://oauth2.googleapis.com/token');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
    $response = curl_exec($ch);
    curl_close($ch);

    $responseData = json_decode($response, true);
    return $responseData['access_token'];  // Erişim token'ı
}

// JWT oluşturma fonksiyonu
function generateJWT($credentials) {
    $header = json_encode(['alg' => 'RS256', 'typ' => 'JWT']);
    $claimSet = json_encode([
        'iss' => $credentials['client_email'],
        'scope' => 'https://www.googleapis.com/auth/indexing',
        'aud' => 'https://oauth2.googleapis.com/token',
        'iat' => time(),
        'exp' => time() + 3600,
    ]);

    // JWT şifresini imzalamak için özel anahtarı kullan
    $privateKey = $credentials['private_key'];
    $jwtHeader = base64_encode($header);
    $jwtClaimSet = base64_encode($claimSet);
    $unsignedToken = $jwtHeader . '.' . $jwtClaimSet;

    $signature = '';
    openssl_sign($unsignedToken, $signature, $privateKey, OPENSSL_ALGO_SHA256);
    $jwtSignature = base64_encode($signature);

    return $unsignedToken . '.' . $jwtSignature;  // Tam JWT
}

// URL indeksleme isteğini gönder
function indexUrl($accessToken, $url) {
    $apiUrl = 'https://indexing.googleapis.com/v3/urlNotifications:publish';
    $data = [
        'url' => $url,
        'type' => 'URL_UPDATED'
    ];

    $headers = [
        'Content-Type: application/json',
        'Authorization: Bearer ' . $accessToken
    ];

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $apiUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    $response = curl_exec($ch);
    curl_close($ch);

    return $response;
}

// Formdan gelen URL'leri işleme
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $urls = explode("\n", trim($_POST['urls']));  // URL'leri ayır

    $accessToken = getAccessToken($serviceAccountFile);  // Access Token al

    // Her URL için Google Indexing API'ye indeksleme isteği gönder
    foreach ($urls as $url) {
        $url = trim($url);
        if (!empty($url)) {
            $response = indexUrl($accessToken, $url);  // URL'yi indeksle
            echo "URL: $url <br> Yanıt: $response <br><br>";
        }
    }
} else {
    echo "Lütfen URL'leri girin ve formu gönderin.";
}
?>
sonra aynı klasöre form.php diye dosya oluşturup içine aşağıdakini yapıştırın.

<!DOCTYPE html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>URL İndeksleme</title>
</head>
<body>
    <h2>Google'a URL İndeksleme</h2>
    <form action="indexle.php" method="POST">
        <label for="urls">URL'leri girin (her satıra bir URL):</label><br>
        <textarea name="urls" id="urls" rows="10" cols="50" placeholder="URL'leri buraya girin, her birini yeni satıra yazın..."></textarea><br><br>
        <input type="submit" value="İndeksle">
    </form>
</body>
</html>
aynı klasörün içine googlenin verdiği indexing api dosyasının adını service-account.json yaparak koyun. hepsi bu


tabi bu arada yukarda arkadaşın anlattığı gibi indexing api kurulumu yapmanız onun verdiği mail adresini webmaster toolsa eklemeniz lazım