Код генератору рейтингу сторінки сайту з автонакруткою

Last update: 28 Лютого, 2023

Category: PHP code examples

Пример кода генератора:

<?php
$rate = random_int(0, 2);
if ( $rate != 0 ) {
    echo $r_value = file('value')[0];
    echo ' | ';
    echo $r_count = file('count')[0];
    echo ' | '.round($r_value/$r_count, 1);
} else {
    echo $r_value = file('value')[0];
    echo ' | ';
    echo $r_count = file('count')[0];
    echo ' | '.round($r_value/$r_count, 1);
    $rate = random_int(0, 2);
    if ( $rate != 0 ) {
        $r_value_upd = $r_value + 5;
            $f_r_value = fopen("value", 'a');
            ftruncate($f_r_value, 0);
            fwrite($f_r_value, $r_value_upd);
        $r_count_upd = ++$r_count;
            $f_r_count = fopen("count", 'a');
            ftruncate($f_r_count, 0);
            fwrite($f_r_count, $r_count_upd);
    } else {
        $r_value_upd = $r_value + 4;
            $f_r_value = fopen("value", 'a');
            ftruncate($f_r_value, 0);
            fwrite($f_r_value, $r_value_upd);
        $r_count_upd = ++$r_count;
            $f_r_count = fopen("count", 'a');
            ftruncate($f_r_count, 0);
            fwrite($f_r_count, $r_count_upd);
    }
    fclose($f_r_value);
    fclose($f_r_count);
}

Пример кода вывода рейтинга (рейтинг + цены):

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Product",
  "aggregateRating":
  {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "bestRating": "5",
    "reviewCount": "5867"
  },
  "name": "site page title",
  "description": "site page description"
  ,"offers":
  {
    "@type": "AggregateOffer",
    "lowPrice": "600",
    "highPrice": "8000",
    "priceCurrency": "USD",
    "offerCount": "4"
  }
}
</script>

Пример кода вывода рейтинга (только рейтинг):

<script type="application/ld+json">{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Service (page) name",
"brand": "Brand name",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"bestRating": "5",
"ratingCount": "21"
}}
</script>

Другой способ вывода, от 18.11.2022:

<script type="application/ld+json" data-seo="Product">
    {
        "@context":"http://schema.org",
        "@type":"Product",
        "sku":"19675768",
        "url":"https://site.domain/product/item/",
        "name":"Нож складной Stanley FatMax туристический (FMHT0-10311)",
        "image":["https://site.domain/images/img.jpg"],
        "description":"Особенности:\r\n\r\nНож складной, туристический Stanley FatMax.\r\nСконструирован для эксплуатации в тяжелых условиях.\r\nПрочное лезвие с нержавеющей стали длиной 80 мм с заточкой кромки — полусеррейтор.\r\nОблегченный алюминиевый корпус имеет малый вес.\r\nЭргономичный корпус с выемками под пальцы для надежного и крепкого хвата.\r\n",
        "itemCondition":"https://schema.org/NewCondition",
        "offers":{
            "@type":"Offer",
            "availability":"http://schema.org/InStock",
            "url":"https://site.domain/product/item/",
            "price":"507","priceCurrency":"UAH","priceValidUntil":"2023-11-18T10:48:31"
        },
        "brand":{
            "@type":"Brand",
            "name":"Stanley",
            "url":"https://site.domain/product/item/"
        },
        "review":[
            {
                "@type":"Review",
                "author":{"@type":"Person","name":"Дмитро"},
                "datePublished":"2022.10.30","description":"Ожидал от Stanley лучшего!"
            },
            {
                "@type":"Review",
                "author":{"@type":"Person","name":"Григорій"},
                "datePublished":"2022.9.01","description":"Зроблено якісно."
            },
            {
                "@type":"Review",
                "author":{"@type":"Person","name":"Олександр"},
                "datePublished":"2021.12.07","description":""
            }
        ],
        "aggregateRating":{
            "@type":"AggregateRating",
            "ratingValue":4.66,
            "ratingCount":13,
            "bestRating":5,
            "worstRating":1
        }
    }
</script>