1. Updated homepage meta tags: - Title: Web Scraping Services UK | 99.8% Accuracy & GDPR Compliant - Description: Enterprise-grade web and data scraping services... 2. Created dedicated service pages: - /web-scraping-services/ - targets web scraping services (193 impressions) - /data-scraping-services/ - targets data scraping services (118 impressions) 3. Pages include: - SEO-optimized titles and descriptions - Industry-specific content - Stats highlighting #1 ranking and 99.8% accuracy - GDPR compliance emphasis - Links to free tools Based on Google Search Console data showing 90,815 impressions/month but only 0.1% CTR. Goal: Increase CTR to 1%+ and capitalize on #1.2 ranking for web scraping services in uk.
59 lines
2.2 KiB
PHP
59 lines
2.2 KiB
PHP
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>QuickBooks OAuth Callback</title>
|
|
<style>
|
|
body { font-family: Arial, sans-serif; max-width: 800px; margin: 40px auto; padding: 20px; }
|
|
.code { background: #f5f5f5; padding: 15px; border-radius: 5px; font-family: monospace; word-break: break-all; }
|
|
.success { color: green; font-weight: bold; }
|
|
.error { color: red; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>QuickBooks OAuth Callback</h1>
|
|
|
|
<?php
|
|
if (isset($_GET['code']) && isset($_GET['realmId'])) {
|
|
$code = htmlspecialchars($_GET['code']);
|
|
$realmId = htmlspecialchars($_GET['realmId']);
|
|
$state = isset($_GET['state']) ? htmlspecialchars($_GET['state']) : '';
|
|
|
|
echo '<p class="success">✅ OAuth authorization successful!</p>';
|
|
echo '<p>Copy these values and provide them to the MCP server:</p>';
|
|
|
|
echo '<h3>Authorization Code:</h3>';
|
|
echo '<div class="code">' . $code . '</div>';
|
|
|
|
echo '<h3>Realm ID:</h3>';
|
|
echo '<div class="code">' . $realmId . '</div>';
|
|
|
|
if ($state) {
|
|
echo '<h3>State (for reference):</h3>';
|
|
echo '<div class="code">' . $state . '</div>';
|
|
}
|
|
|
|
echo '<p><strong>Next step:</strong> Call the <code>qbo_authenticate</code> tool again with these values.</p>';
|
|
|
|
} elseif (isset($_GET['error'])) {
|
|
$error = htmlspecialchars($_GET['error']);
|
|
$error_description = isset($_GET['error_description']) ? htmlspecialchars($_GET['error_description']) : '';
|
|
|
|
echo '<p class="error">❌ OAuth Error: ' . $error . '</p>';
|
|
if ($error_description) {
|
|
echo '<p>Description: ' . $error_description . '</p>';
|
|
}
|
|
} else {
|
|
echo '<p class="error">❌ Missing required parameters. Expected: code and realmId</p>';
|
|
echo '<p>Received parameters:</p>';
|
|
echo '<ul>';
|
|
foreach ($_GET as $key => $value) {
|
|
echo '<li>' . htmlspecialchars($key) . ' = ' . htmlspecialchars($value) . '</li>';
|
|
}
|
|
echo '</ul>';
|
|
}
|
|
?>
|
|
|
|
<hr>
|
|
<p><small>This is the OAuth callback endpoint for QuickBooks MCP server integration.</small></p>
|
|
</body>
|
|
</html>
|