Dieser Dreamcodes Codeschnipsel prüft, ob bestimmte Backlinks auf einer Webseite existieren. Es ist eine zuverlässige Lösung, die mehrere Links gleichzeitig überprüft und die Ergebnisse übersichtlich in einer farblich markierten HTML-Tabelle darstellt. So siehst du auf einen Blick, welche Links gefunden wurden und welche nicht. Ideal für SEO Checks, Link-Audits oder zur Kontrolle eigener Webprojekte. 😉
<?php
function renderBackLinkCheckTable(string $remoteUrl, array $linksToCheck): string {
$results = [];
foreach ($linksToCheck as $link) {
$results[$link] = false;
}
$ch = curl_init($remoteUrl);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; BacklinkChecker/1.0)',
]);
$html = curl_exec($ch);
$error = curl_errno($ch);
curl_close($ch);
if ($error || !$html) {
return "<p>Seite konnte nicht geladen werden.</p>";
}
libxml_use_internal_errors(true);
$dom = new DOMDocument();
if (!$dom->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'))) {
return "<p>HTML konnte nicht geparst werden.</p>";
}
$xpath = new DOMXPath($dom);
$anchorTags = $xpath->query("//a[@href]");
foreach ($anchorTags as $anchor) {
$href = rtrim($anchor->getAttribute('href'), '/');
foreach ($linksToCheck as $link) {
if ($href === rtrim($link, '/')) {
$results[$link] = true;
}
}
}
$htmlOutput = '<table style="border-collapse: collapse; width: 100%;">';
$htmlOutput .= '<tr><th style="border:1px solid #ccc;padding:8px;text-align:left;">Link</th>';
$htmlOutput .= '<th style="border:1px solid #ccc;padding:8px;text-align:left;">Status</th></tr>';
foreach ($results as $link => $found) {
$color = $found ? 'green' : 'red';
$statusText = $found ? 'Gefunden ✅' : 'Nicht gefunden ❌';
$htmlOutput .= '<tr>';
$htmlOutput .= '<td style="border:1px solid #ccc;padding:8px;">' . htmlspecialchars($link) . '</td>';
$htmlOutput .= '<td style="border:1px solid #ccc;padding:8px;color:' . $color . ';">' . $statusText . '</td>';
$htmlOutput .= '</tr>';
}
$htmlOutput .= '</table>';
return $htmlOutput;
}
$remotePage = "http://www.XYZ.com";
$links = [
"http://www.XYZ.com",
"http://www.example.com",
"http://www.test.com/unterseite1"
];
echo renderBackLinkCheckTable($remotePage, $links);
?>

