Created
February 17, 2023 10:55
-
-
Save seoutopico/e7c73b371b49b081bca47a5ec0d38de0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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