Add autoindexing

This commit is contained in:
2023-11-28 15:44:01 +08:00
parent 5d418adb7d
commit 94d07a5d21
5 changed files with 95 additions and 7 deletions

View File

@@ -0,0 +1,35 @@
<?php
namespace App\Jobs;
use App\Jobs\Tasks\PublishIndexPostTask;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class PublishIndexPostJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $ai_tool_id;
public $timeout = 10;
/**
* Create a new job instance.
*/
public function __construct(int $ai_tool_id)
{
$this->ai_tool_id = $ai_tool_id;
}
/**
* Execute the job.
*/
public function handle(): void
{
PublishIndexPostTask::handle($this->ai_tool_id);
}
}

View File

@@ -3,6 +3,7 @@
namespace App\Jobs\Tasks;
use App\Helpers\FirstParty\OSSUploader\OSSUploader;
use App\Jobs\PublishIndexPostJob;
use App\Models\AiTool;
use App\Models\UrlToCrawl;
use Exception;
@@ -72,7 +73,10 @@ public static function handle($url_to_crawl_id, $ai_tool_id)
}
if ($ai_tool->isDirty()) {
$ai_tool->save();
if($ai_tool->save())
{
PublishIndexPostJob::dispatch($ai_tool->id)->onQueue('default')->onConnection('default');
}
}
return $ai_tool;

View File

@@ -0,0 +1,46 @@
<?php
namespace App\Jobs\Tasks;
use App\Models\AiTool;
use App\Notifications\PostWasPublished;
use Exception;
use Illuminate\Support\Facades\Notification;
use LaravelFreelancerNL\LaravelIndexNow\Facades\IndexNow;
use LaravelGoogleIndexing;
class PublishIndexPostTask
{
public static function handle(int $ai_tool_id)
{
$ai_tool = AiTool::find($ai_tool_id);
if (is_null($ai_tool)) {
return;
}
if (!$ai_tool->is_ai_tool)
{
return ;
}
if ((app()->environment() == 'production') && (config('platform.general.indexing'))) {
$ai_tool_url = route('front.aitool.show', ['ai_tool_slug' => $ai_tool->slug]);
try {
IndexNow::submit($post_url);
} catch (Exception) {
}
try {
LaravelGoogleIndexing::create()->update($post_url);
} catch (Exception) {
}
}
}

View File

@@ -1,6 +1,9 @@
<?php
return [
'indexing' => env('ENABLE_INDEXING', false),
'app_version' => '1.0.0',
'dev_default_ip' => env('DEV_DEFAULT_IP', '127.0.0.1'),

View File

@@ -1,13 +1,13 @@
{
"type": "service_account",
"project_id": "productalert",
"private_key_id": "4ead93eae515ecf0c65792ce3571cd41aaeed1d1",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQChYmzeMFwyDiaB\nVifBsLDw/k5SZ+hEe8wMxKTHLYLEWYKa2OGPRK6ziXnKJzbo8ptEOklD+S8U/AOI\nqqMGAPHaHezleuD8NGMzNduoAdBvM4h3nniKWzAsmkFzvfLlHZa7rKKCfmMHPQ6S\nXi0Xrw5SvJpM0moZ57R0cPqH7IPrZLW0ESW+ImWTQGBxFTyRbX0muSCxR3d/xRFb\nVHhcJvjRRcsK3REZnPO9NHHVwgEgtl28khaKIb/yHrlVC2bGzMoNUpMIMzZq7EvL\nINBSkWdPLqWky2nb4QJNRbXAbjf8Mzx+DZWcH0pY1taJGcanCjC7G6MZq6aZeh2r\nAbXKJc17AgMBAAECggEABJRvpNHi2T7NOUVnJRgtD/cU5OzISs09P1gt7u3BNMOa\nMRJvkD/G5MHFgDGjCB2pFK4Xby45TP374bB/UN0iVT9yfhlXHNZ7Ft8ekoLUAJvf\nRw8Vuk4X12Qx8FAXKQkGbTaweUXklzYp3Yh+Uho911Dn4L87Peyf5+AJlBA9DCcz\nbk5IPhIsFITCWiX30HzBE9gZjUFVSBbyAafXkup8ZWDWVRHRTTwJP0ud8pzT7ENc\nEQ3TlvhS5eFTyG7uuM/ffBouDu4VbLVVuN0WbiW14hUHdj4nGC6jY/C0EnyyecGS\nsmjjV6Re41a1m4TG+BBEBnBMWIws3Dn+d1cVVv5jWQKBgQDbUp2IvNguo+OLIyi8\njBU+N4sEtGvZGrXxKUYCp54MaKO0dvVU0Q6k/cMR+0hvl0biRLUt3gZ1KgH/63ET\nlnRUTSx3dVntHCnyThqUOzB4btksnVdjkeNjB8hlSEs0n9usXabIRcl3U8a+0DeU\n0cKagw4bnWQxgY9VKQd6AZaReQKBgQC8X20pAxFv/HvvrS1cGenYHyAnCthJhfLH\nvly/yt8MIc4Dr+VMalMZXTRoyrMH+CgFbNHsWRJXHm58pse0PfWid1tgudoh2sdt\n2xAyVPqoSsUTRU9FuJSt8WW6qRQ4ouzY688OyLx7T1sSWHR4DgyvSdVmJnn2p80M\nRpN6eI4tkwKBgAvjDma61XyxpUOFRE/zx7L3j7FRlgbOS84mToUWUJqbkUPWrrVK\nH2ER3+C5ndNuf4kD8E3sGq1++VzFhftpzCRFioNu+NDBFgTr9sTR8G6Wk263mGTt\nI0XaxiG3KVxQzbcp3EA+iAzPnZX58wk91S5KrBkTDrsgKoSTFLSoIWEBAoGBAIJP\nIRx12uI1LycmDXLhGjs/jOZ1QhnaZ5B1x4OFu7aQzAsQ6vZptwKcz1yOnDqvGEBo\nfu+Yzm8lxhjE5vFwyzOQjc3jw1oYFk2QdSvcTWmOD7a9A5Gflnqdu1ndDPgA/Qcy\nWRJJGtnSk5WlSyyhy3SXBuCbTVOr0NTlHbBjJTexAoGAMsiGkM2iUlKAb/sUrsZ7\nnhK5ZqoUiiR6hEPsp7gCEZcHsYiwx+1KAn7WZWm1p8uTQ7CD5g5zmPSdqBPUzlLF\nvinjV6v64nTrwsr9ZlkrT8VQ5cC6EZnoKJBXxkhIQraWdecOEpvT+io/km0tcaPh\nB6ECRLVDa2wN9c810lJOnDA=\n-----END PRIVATE KEY-----\n",
"client_email": "indexing@productalert.iam.gserviceaccount.com",
"client_id": "115053843796317309652",
"project_id": "aibuddytool",
"private_key_id": "45790b2286ec3a05c925ad9cb4425ce5a47d131a",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDCFZo4ch8ZWpOh\n3/zOoca/7YbHwRZKmzbEUoT6WEM6i6OriAXj4h9orQeXSmYeUo4NZs+TMGmdMguk\nTTxtOmw35gtt+fF/FYxdSskRgmXVUcwv9Qll0pMoFO3NBqrzUo1XON8MQcccz0vl\nPycP9wn5BlHi/7GELCTsujDjnfIy6T0RD8PS4TjOJbiJlIwwpKpzHQcJ+GGjbLcF\nLyhdohSTwo9XFoOQArvnra1BByBpnphbYJrm+SWRK3nvHd3EiA9IN/yMO4kPjaGb\nYJN5/ioUPR87cpTVIFzcK+fZ6p/915hnmd9cJIySBpxIA0CQFxM+YVAH6jRANCla\n29O3KI1fAgMBAAECggEAA3GnwZcPf0ethE5eAP7MTrsIBCtos7ic1k+IBIxs76Q4\nCFpiXBs/XqJGlt/hOzbqNVIjUZ1RgnSVa4Br5HqzDSvyQQqrcdhC+egF0nBidBS6\nb15aj83a6MSA+RbvERxo1SB1fVDbXC/H5pcZoHtuRvBvowSehckZJhtNCbixYa3c\nm5dAeHbLXFjwD5pnl+NT9NKtI6FVQxObRV8EhXYKrnhA1WC+lYQYfapj05afkdbM\nHTB+ycp8OrEoxNngOYxKv3POWwUzJDCQcGUntsiO7LODRyrOasWN8bUAbxKkyC4f\n7MBz9KiTDzgZgLiofSIzXpp8gnfDXeuGde5MoaDMIQKBgQDlvhRFO1n/VJECwZex\ng0y58gJ6xIUnoVS4NGQ/DSib8f5jGGtglGo4Mx8ik6ZfaT4vxCbMwIq/keUwO/bL\nKv2NkTOq8XKK9MO+fdc9GOLafKizkaAH6Y4SKmTj+lXPGnWy3sfuTZ6YLhAZR6p+\ne3MSRv6X5ZSClwv0r1z6/IHh2wKBgQDYRDhp7r7LmOu78XnF65IHt5Y2WhjsIz7P\nHD/XIPLV+R1gmaliS158ZAdu4vZHCLg1OrHMHt8wq9jAPxpzHZDXEL0RO1/o15Su\nmcBgQTrtdVkiz6MuaiO3KZXwQB1UlMk/eofwSKOaRPorHqGEZrOB/iOEJhcf4pOq\nDBG+CR1jzQKBgAfaN1cmcC0J9urhMw4eLsEsRGltzh9MpFinccW17W1nGArLCuCC\nMh85oBbOdSFNt5JqYekdq6BgnDTJ1+WZ0pDEJb/yALg/JXGdW337G8Xb/OgmUhHz\nKaf1Sv1/0O8DOIKkmrDKdmE9Mc+rY2hvT7+QLaODdVABWadDVyo89zOBAoGADjxf\nYkm+8XP9gH+ivm6FTFC/aJCBt3mSdturMCQRGBiv4F39EmVXsOR8wMXb5E0kowxc\nC820b2XAfNcqjI1TrXSCnZHE/HTEasHgMfXZRSxGU85LNZDzDOmF3yy5QYoRvUX5\nkM2XR15nAVOg2jBQfKwX9mjzeLvXcIge2t2Ku7kCgYA9rIxHUEtHB2SE05bL9O1I\n15JrqNr5S3Ic49EV5M8oZVjvUYehFH9U4G/I2JJkUqXBTqKHAE4+KnvTj/cj2k23\nQ6jYtNBPkB0gj5oqBVGJ5yzMnWoPQqKBEsQq+1E9Nq/h0AtNnFqKJdsHnjjp5tQX\neNyFh1dIT6fJ5MvwoaQiBA==\n-----END PRIVATE KEY-----\n",
"client_email": "aibuddytool@aibuddytool.iam.gserviceaccount.com",
"client_id": "104840231690980502168",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/indexing%40productalert.iam.gserviceaccount.com",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/aibuddytool%40aibuddytool.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}