Skip to content

Instantly share code, notes, and snippets.

@seoutopico
Created February 17, 2023 10:55
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save seoutopico/e7c73b371b49b081bca47a5ec0d38de0 to your computer and use it in GitHub Desktop.
Save seoutopico/e7c73b371b49b081bca47a5ec0d38de0 to your computer and use it in GitHub Desktop.
<?php
require 'google-search-results.php';
require 'restclient.php';
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Kw tool</title>
<meta name="robots" content="noindex" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0" /></head>
<body>
<nav class="navbar navbar-expand-lg bg-primary">
<div class="container-fluid">
<a class="navbar-brand" href="index.php">Kw tool</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav">
<a class="nav-link" aria-current="page" href="1.php">posición 1</a>
</div>
</div>
</div>
</nav>
<div class="container py-3 ">
<div class="row">
<h1>Google serp ranking tool</h1>
<p>Mini tool que te saca los 10 primeros resultados de Google por cada una de la palabras claves que añadas en la caja de búsqueda</p>
<small>**Separa las palabras por comas</small>
</div>
<div class="row py-3">
<form action="" method="post">
<div class="form-group py-3">
<label><strong>Escribe aqui tus palabras clave</strong></label>
<textarea class="form-control py-3" name="words" rows="3"></textarea>
</div>
<button type="submit" name="submit" class="btn btn-primary btn-lg">Enviar</button>
</form>
</div>
<div class="row py-3">
<hr />
<p><strong>Resultados:</strong></p>
</div>
<div class="row py-3">
<div class="col-sm">
<a href="index.php" class="btn btn-danger btn-lg">Borrar</a>
</div>
<div class="col-sm">
<button id="copy_btn" type="button" value="copy" class="btn btn-success btn-lg">
<span class="material-symbols-outlined">Copiar</span>
</button>
</div>
</div>
<div class="row py-3">
<?php
if(isset($_POST['submit'])) {
$words = explode(", ", $_POST['words']);
$client = new GoogleSearch("TU API");
echo "<div class='table'>";
echo "<table class='table'>";
echo "<thead class='thead-dark'><tr><th>Query</th><th>Position</th><th>Link</th></tr></thead>";
foreach($words as $word) {
$query = [
"q" => $word,
"hl"=>"es",
"engine"=> "google",
"gl"=> "es",
"google_domain"=> "google.es"
];
$response = $client->get_json($query,1);
$organic_results = $response->organic_results;
foreach($organic_results as $result) {
if ($result->position == 1) {
echo "<tr>";
echo "<td>" . $query['q'] . "</td>";
echo "<td>" . $result->position . "</td>";
echo "<td>" . $result->link . "</td>";
echo "</tr>";
}
}
}
echo "</table>";
echo "</div>";
}
?>
</div>
</div>
<!-- end container -->
<script>
var copyBtn = document.querySelector('#copy_btn');
copyBtn.addEventListener('click', function () {
var urlField = document.querySelector('table');
// create a Range object
var range = document.createRange();
// set the Node to select the "range"
range.selectNode(urlField);
// add the Range to the set of window selections
window.getSelection().addRange(range);
// execute 'copy', can't 'cut' in this case
document.execCommand('copy');
}, false);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment