Untitled

 avatar
unknown
plain_text
2 years ago
2.7 kB
6
Indexable
<?php


function seoScore(string $page): int
{
    $score = 0; 
    $patternTitle = "/<title>.{1,60}<\/title>/";
    $patternTitleUp = "/<title>\D{61}<\/title>/";
    $patternMetaDescription = "/<meta\s*name=\"description\"\s*content=\"([a-z]|\-){1,160}\">/";
    $patternMetaDescriptionUp = "/<meta\s*name=\"description\"\s*content=\"[a-z\-]{161,}\">/";
    $patternMetaViewport = "/<meta\s*name=\"viewport\"\s*content=\".*\"\s*>/";
    $patternMetaRobots = "/<meta\s*name=\"robots\"\s*content=\".*\"\s*>/";
    $patternMetaCharset = "/<meta\s*charset=\".*\"\s*>/";
    $patternH1 = "/<h1>.*<\/h1>/";
    $patternH2 = "/<h2>.*<\/h2>/";
    $patternH3 = "/<h3>.*<\/h3>/";
    $patternHeader = "/<header>[\D\w]*<\/header>/";
    $patternSection = "/<section>[\D\w]*<\/section>/";
    $patternFooter = "/<footer>[\w\D]*<\/footer>/";
    if (preg_match_all($patternTitle, $page))
        $score += 10;
    if (preg_match_all($patternTitleUp, $page))
        $score += 7;
    if (preg_match_all($patternMetaDescription, $page))
        $score += 10;
    if (preg_match_all($patternMetaDescriptionUp, $page))
        $score += 7;
    if (preg_match_all($patternMetaViewport, $page))
        $score += 10;
    if (preg_match_all($patternMetaRobots, $page))
        $score += 10;
    if (preg_match_all($patternMetaCharset, $page))
        $score += 10;
    if (preg_match_all($patternH1, $page) >= 2)
        $score += 7;
    elseif (preg_match_all($patternH1, $page) == 1)
        $score += 10;
    if (preg_match_all($patternH2, $page))
        $score += 5;
    if (preg_match_all($patternH3, $page))
        $score += 5;
    if (preg_match_all($patternHeader, $page))
        $score += 10;
    if (preg_match_all($patternSection, $page))
        $score += 10;
    if (preg_match_all($patternFooter, $page))
        $score += 10;

    return $score;
}
$page =
    '<html>
                <head>
                    <meta charset="utf-8">
                    <meta name="viewport" content="width=device-width, initial-scale=1">
                    <title> quera    </title>
                    <meta name="description" content="quera-codecup-college-magnet">
                    <meta name="robots" content="index, follow">
                </head>
            <body>
                <header>
                    <h1> quera </h1>
                </header>
                <section>
                    <h2> quera </h2>
                    <h3> quera </h3>
                    <h3> quera </h3>
                    <h3> quera </h3>
                </section>
                <footer>
                    <h2> quera </h2>
                </footer>
            </body>
            </html>';


echo seoScore($page);
Editor is loading...