Quick Start
New to Link Exchange Scripts? This quick start guide will help you get your automated reciprocal link exchange platform up and running in under 10 minutes.
What is the Link Exchange Script?
This self-hosted PHP link exchange script allows you to:
- Automate Reciprocal Link Management – Accept link submissions and verify reciprocal backlinks automatically
- Detect Broken & Fake Links – Identify cloaking, nofollow tags, JavaScript redirects, and HTTP errors
- Schedule Cron-Based Monitoring – Continuously verify all active reciprocal links with automated cron jobs
- Filter Spam Submissions – 9 auto-rejection rules, quality scoring, and CAPTCHA protection
- Manage Link Directory – Hierarchical categories, nested structure, featured links, and SEO optimization
- Track Performance – 6 comprehensive reports with charts, analytics, and export capabilities
5-Minute Setup Overview
1
Upload Files
Extract and upload all script files to your web server via FTP or File Manager
2
Create Database
Create a MySQL database and note down database name, username, and password
3
Run Installer
Visit yourdomain.com/install.php and complete the installation wizard
4
Configure Settings
Login to admin panel, configure site settings, email, and verification options
5
Setup Cron Job
Configure automated link verification with cron job for continuous monitoring
That's it! Your automated link exchange platform is ready to accept submissions and verify reciprocal backlinks.
Server Requirements
Before installing the PHP link exchange script, ensure your web hosting meets these minimum requirements:
Minimum Requirements
| Component |
Minimum Version |
Recommended |
| PHP |
8.0 |
8.1 or higher |
| MySQL |
5.7 |
8.0 or higher |
| MariaDB (alternative) |
10.2 |
10.5 or higher |
| Web Server |
Apache 2.4 / Nginx 1.18 |
Apache 2.4+ with mod_rewrite |
| Disk Space |
50 MB |
100 MB+ for logs |
Required PHP Extensions
The following PHP extensions must be enabled on your server:
- PDO – Database connectivity (required)
- PDO_MySQL – MySQL database driver (required)
- cURL – For HTTP requests and link verification (required)
- JSON – JSON data processing (required)
- mbstring – Multi-byte string support (required)
- GD Library – Image manipulation for CAPTCHA (required)
- OpenSSL – Secure HTTPS connections (recommended)
File Permissions
The following directories require write permissions (755 or 777 depending on server configuration):
public/uploads/ – For file uploads
logs/ – For error and activity logs
config/ – During installation only
Cron Job Access
For automated reciprocal link verification, you need:
- Cron Job Access – Ability to schedule automated tasks
- Command Line Access – To run PHP scripts via cron
Shared Hosting Users: Most shared hosting providers (cPanel, Plesk) offer cron job configuration through their control panel.
Installation Guide
Follow these step-by-step instructions to install the PHP link exchange script on your web server.
Step 1: Download the Script
- After purchasing, download the script ZIP file from your email or customer area
- Extract the ZIP file on your local computer
- You should see the main files and folders in the package
Step 2: Upload Files to Your Server
Upload all extracted files to your web server using one of these methods:
Option A: FTP/SFTP Upload
- Open your FTP client (FileZilla, WinSCP, Cyberduck)
- Connect to your server using FTP credentials from your hosting provider
- Navigate to
public_html/ or www/ directory
- Upload all files and folders from the extracted ZIP
- Ensure the directory structure remains intact
Option B: cPanel File Manager
- Login to your cPanel account
- Navigate to File Manager
- Go to
public_html/ directory
- Click Upload and select the ZIP file
- After upload completes, right-click the ZIP file and select Extract
- Delete the ZIP file after extraction
Step 3: Create a MySQL Database
Before running the installer, create a MySQL database:
Using cPanel:
- Login to cPanel
- Navigate to MySQL Databases
- Create new database (e.g.,
linkexchange)
- Create new MySQL user with strong password
- Add user to database with ALL PRIVILEGES
Note: Write down your database name, username, and password for the next step.
Step 4: Set File Permissions
Ensure these directories are writable:
chmod 755 public/
chmod 777 public/uploads/
chmod 777 logs/
chmod 755 config/
Step 5: Run the Installation Wizard
- Open your browser and navigate to:
https://yourdomain.com/install.php
- The installation wizard will guide you through the setup
Installation Wizard Steps:
Screen 1: System Requirements Check
- The installer checks PHP version, extensions, and file permissions
- Green checkmarks = requirement met
- Red X marks = requirement not met
- Click Continue when all checks pass
Screen 2: Database Configuration
Enter your MySQL database details:
- Database Host: Usually
localhost
- Database Name: The database you created
- Database Username: Your MySQL user
- Database Password: Your MySQL password
- Table Prefix:
lex_ (default)
Click Test Connection to verify, then Continue
Screen 3: Admin Account Setup
Create your administrator account:
- Admin Username: Choose a unique username
- Admin Email: Your email for notifications
- Admin Password: Strong password (minimum 8 characters)
Click Create Admin Account
Screen 4: Site Configuration
Configure basic site settings:
- Site Name: Your link directory name
- Site URL: Full URL including http:// or https://
- Default Language: Select primary language
- Timezone: Select your timezone
Click Complete Installation
Screen 5: Installation Complete
- Success! Database tables have been created
- IMPORTANT: Delete
install.php file for security
- Click Go to Admin Panel to login
Step 6: Delete Installation Files
Security Notice: After installation, immediately delete install.php
Post-Installation Checklist
- Database created and connected successfully
- Admin account created and can login
install.php deleted
- File permissions set correctly
- Frontend accessible at your domain
- Admin panel accessible at
/admin
Installation Complete! Proceed to
Configuration to set up email, cron jobs, and other settings.
Initial Configuration
After installation, configure your link exchange script to match your requirements.
Accessing the Admin Panel
- Navigate to
https://yourdomain.com/admin
- Enter the username and password you created during installation
- Click Login
Dashboard Overview
After logging in, you'll see the admin dashboard with:
- Statistics Cards: Total links, pending submissions, categories, broken links
- Recent Pending Links: Quick view of submissions awaiting approval
- Activity Log: Recent admin actions with timestamps
- Click Statistics: 30-day traffic trends chart
- Quick Actions: Shortcuts to common tasks
Essential Initial Settings
Navigate to Settings → General Settings to configure:
Site Information
| Site Name |
Your link exchange directory name |
| Site URL |
Full URL with http:// or https:// |
| Site Description |
Brief description for meta tags |
| Admin Email |
Email to receive admin notifications |
Display Settings
| Links Per Page |
Number of links per page (default: 25) |
| Date Format |
Choose date display format |
| Timezone |
Select your timezone |
| Default Language |
Primary language for frontend |
Submission Settings
| Require Approval |
Links must be approved before going live (recommended: Yes) |
| Require Reciprocal Link |
Submitters must provide reciprocal backlink URL (recommended: Yes) |
| Verify Before Approval |
Automatically check reciprocal link before approval |
| Featured Links |
Enable featured links option |
Tip: Click Save Changes after modifying any settings.
Admin Panel Guide
Complete guide to using the admin panel for managing your link exchange platform.
Main Navigation Menu
| Menu Item |
Description |
| Dashboard |
Overview statistics, pending links, activity log, charts |
| Links |
View, manage, approve, reject, edit, and delete links |
| Categories |
Create, edit, delete, and organize categories |
| Pages |
Manage static pages (About, Terms, Privacy, Contact) |
| Verification |
View verification history, manually verify links |
| Reports |
Links overview, traffic analysis, performance analytics |
| Emails |
Email templates, SMTP settings, test email |
| Settings |
General, verification, quality, security, cron |
Admin Account Security
Protecting your admin account is critical:
- Strong Password: Use at least 12 characters with letters, numbers, and symbols
- Unique Username: Avoid common usernames like "admin"
- Regular Updates: Change password every 3-6 months
- Activity Monitoring: Review admin activity log regularly
Changing Admin Password
- Click Profile in top navigation
- Scroll to "Change Password" section
- Enter current password
- Enter new password (minimum 8 characters)
- Confirm new password
- Click Update Password
Forgot Password Recovery
- On admin login page, click Forgot Password?
- Enter your admin email address
- Check your email for password reset link
- Click the link (valid for 1 hour)
- Enter and confirm new password
- Click Reset Password
Note: Password reset emails may take a few minutes. Check spam folder if not received.
Managing Links
Complete guide to managing link submissions, approvals, rejections, and link operations.
Viewing Links
Navigate to Links → All Links to see all submissions with:
- Link Name – Title of the submitted website
- URL – Website address
- Category – Assigned category
- Status – Pending, Active, Rejected, or Broken Reciprocal
- Verification – Last verification result
- Actions – Quick action buttons
Link Status Types
| Status |
Description |
Visibility |
| Pending |
Awaiting admin approval |
Hidden from public |
| Active |
Approved and visible on site |
Public |
| Rejected |
Rejected by admin or auto-rejection rules |
Hidden from public |
| Broken Reciprocal |
Reciprocal link verification failed |
Hidden from public |
Approving Links
To approve a pending link submission:
- Navigate to Links → Pending Links
- Review link details (website name, URL, description, keywords, category, reciprocal URL)
- Optional: Click Verify Reciprocal Link to check if backlink exists
- Optional: Click Quality Check to see quality score
- Click Approve button
- Link becomes active and visible on frontend
- Submitter receives approval email notification
Rejecting Links
To reject a link submission:
- Navigate to link details
- Click Reject button
- Select rejection reason (Low quality, Inappropriate content, Broken reciprocal, Wrong category, Spam, Custom reason)
- Click Confirm Rejection
- Submitter receives rejection email with reason
Editing Links
To modify an existing link:
- Click Edit icon next to the link
- Update fields: Website Name, URL, Description, Keywords, Category, Reciprocal URL, Email, Featured status
- Click Save Changes
Deleting Links
Warning: Deleting a link is permanent and cannot be undone. All statistics will be lost.
- Click Delete icon
- Confirm deletion
- Link permanently removed
Bulk Operations
Manage multiple links at once:
- Select multiple links using checkboxes
- Choose bulk action: Approve, Reject, Delete, Move to Category, Set/Remove Featured
- Click Apply and confirm
Featured Links
Featured links appear in special sections on the frontend for higher visibility.
To mark as featured: Edit link → Check "Featured Link" → Save
Category Management
Organize your link directory with hierarchical categories and subcategories.
Creating Categories
- Navigate to Categories → All Categories
- Click Add New Category
- Fill in details:
- Category Name: Display name (e.g., "Web Development")
- Slug: URL-friendly name (auto-generated)
- Parent Category: Select parent for subcategory (optional)
- Description: Brief description for SEO
- Icon: Bootstrap icon class (e.g., "bi-code-slash")
- Display Order: Sort position
- Meta Title: SEO title tag
- Meta Description: SEO description
- Click Create Category
Hierarchical Categories
Create parent-child relationships:
Technology
├── Web Development
│ ├── PHP Frameworks
│ └── JavaScript Libraries
└── Mobile Apps
├── iOS Development
└── Android Development
Editing Categories
- Click Edit icon
- Update any fields
- Click Save Changes
Deleting Categories
Warning: When deleting a category, you must move existing links to another category or delete them.
Category Icons
Add visual icons using Bootstrap Icons. Popular classes:
bi-globe | General websites |
bi-code-slash | Programming/development |
bi-briefcase | Business |
bi-cart | E-commerce |
bi-book | Education |
Category SEO Optimization
- Meta Title: Custom title (max 60 characters)
- Meta Description: Brief description (max 160 characters)
- Slug: SEO-friendly URL (lowercase, hyphens)
- Description: Include relevant keywords
Static Pages Management
Create and manage custom static pages like About, Terms of Service, Privacy Policy, and Contact.
Creating Pages
- Navigate to Pages → All Pages
- Click Add New Page
- Fill in details:
- Page Title: Page heading
- Slug: URL path
- Content: Page content (HTML editor)
- Meta Title/Description: SEO tags
- Active: Publish page
- Show in Footer: Display link in footer menu
- Click Create Page
- Page accessible at
/page/{slug}
Essential Pages to Create
1. About Us Page
Mission, purpose, benefits, quality standards, team info
2. Terms of Service
Acceptable use, submission guidelines, prohibited content, link removal policy, disclaimer
3. Privacy Policy
Data collection, cookie usage, data security, user rights (GDPR), contact info
4. Contact Page
Contact form, email address, business hours, FAQ link, support policy
Tip: Create Terms and Privacy pages for legal compliance and trust building.
Link Verification System
Automated reciprocal link verification ensures backlinks remain active and properly configured.
How Verification Works
The script checks reciprocal backlinks for:
- Link Exists: Your link is present on the reciprocal page
- HTTP Status: Page returns 200 OK (not 404, 500, etc.)
- No nofollow Tag: Link is not marked with rel="nofollow"
- No JavaScript Redirect: Link is not cloaked with JavaScript
- No Frame/iFrame: Link not hidden in frame
- Anchor Text: Link contains your site name or URL
Manual Verification
Verify a specific link manually:
- Navigate to Links → All Links
- Click Verify icon next to link
- System checks reciprocal page
- Results displayed with pass/fail indicators:
- ✓ Link Found
- ✓ HTTP 200 OK
- ✓ No nofollow
- ✗ Link Not Found
- ✗ HTTP 404 Error
Verification History
View all verification attempts:
- Navigate to Verification → History
- See all verification logs with:
- Link name and URL
- Verification date and time
- Result (Success/Failed)
- Failure reason (if failed)
- HTTP status code
- Filter by status, date range, or link
- Export results to CSV
Verification Settings
Configure verification behavior in Settings → Verification Settings:
| Verification Frequency |
How often to verify links (Daily, Weekly, Monthly) |
| Check HTTP Status |
Verify reciprocal page returns 200 OK |
| Check nofollow |
Fail if link has rel="nofollow" attribute |
| Check JavaScript |
Detect JavaScript redirects/cloaking |
| Require Anchor Text |
Link must contain your site name |
| Max Retries |
Retry failed verification attempts (0-3) |
| Timeout |
Maximum seconds to wait for response (10-30) |
Handling Failed Verifications
When reciprocal link verification fails:
- Link status changes to "Broken Reciprocal"
- Link hidden from public listing
- Webmaster receives automated email notification
- Admin receives notification (if enabled)
- Link remains in database for re-verification
Admin Actions for Failed Links:
- Re-verify: Try verification again manually
- Contact Owner: Send email requesting link fix
- Restore: Manually mark as active if false positive
- Delete: Permanently remove link
Cron Job Setup
Set up automated cron jobs for continuous reciprocal link monitoring.
What is a Cron Job?
A cron job is an automated task that runs on a schedule. For this script, cron jobs automatically verify reciprocal links without manual intervention.
Cron File Location
The cron script is located at: yourdomain.com/cron.php
Setting Up Cron Jobs
Option 1: cPanel Cron Jobs
- Login to cPanel
- Navigate to Advanced → Cron Jobs
- Under "Add New Cron Job", configure:
- Common Settings: Select "Once Per Day" or "Custom"
- Minute: 0 (run at top of hour)
- Hour: 2 (run at 2 AM)
- Day: * (every day)
- Month: * (every month)
- Weekday: * (every weekday)
- Command:
/usr/bin/php /home/username/public_html/cron.php
- Click Add New Cron Job
Note: Replace /home/username/public_html with your actual server path.
Option 2: Command Line (SSH)
If you have SSH access, edit crontab directly:
crontab -e
Add this line:
0 2 * * * /usr/bin/php /path/to/your/script/cron.php
Save and exit. This runs daily at 2 AM.
Option 3: Plesk Cron Jobs
- Login to Plesk
- Go to Websites & Domains → Scheduled Tasks
- Click Add Task
- Configure:
- Task type: Run a PHP script
- Script path:
/httpdocs/cron.php
- Schedule: Daily at specific time
- Click OK
Option 4: Web-Based Cron Services
If your host doesn't support cron jobs, use web-based alternatives:
Setup steps:
- Create account on web-based cron service
- Add new cron job
- Enter URL:
https://yourdomain.com/cron.php
- Set schedule (daily recommended)
- Save and activate
Cron Schedule Recommendations
| Schedule |
Recommended For |
Cron Expression |
| Daily |
Most sites (recommended) |
0 2 * * * |
| Every 12 hours |
High-traffic directories |
0 */12 * * * |
| Weekly |
Small directories |
0 2 * * 0 |
| Every 6 hours |
Premium monitoring |
0 */6 * * * |
Verifying Cron Job is Running
Check if cron job executes successfully:
- Navigate to Verification → History
- Check for recent verification entries with "Cron" as source
- Check
logs/cron.log file for execution logs
- Admin dashboard shows "Last Cron Run" timestamp
Cron Job Settings
Configure cron behavior in Settings → Cron Settings:
| Enable Cron Verification |
Turn automated verification on/off |
| Links Per Run |
How many links to verify per cron execution (10-100) |
| Notify Admin |
Send email when cron completes |
| Notify on Failures Only |
Only email admin about broken links |
| Email Webmasters |
Automatically notify owners of broken reciprocal links |
Tip: Start with daily cron runs. Adjust frequency based on your directory size and server resources.
Email Templates
Customize automated email notifications sent to link submitters and administrators.
Available Email Templates
Navigate to Emails → Templates to manage these templates:
| Template |
Sent When |
Recipient |
| Link Submitted |
User submits new link |
Submitter |
| Link Approved |
Admin approves pending link |
Submitter |
| Link Rejected |
Admin rejects link submission |
Submitter |
| Reciprocal Link Broken |
Verification detects broken reciprocal link |
Webmaster |
| Reciprocal Link Fixed |
Broken link verified and restored |
Webmaster |
| Admin Notification |
New link submitted |
Admin |
| Cron Summary |
Cron job completes |
Admin |
Editing Email Templates
- Click Edit next to template
- Customize fields:
- Subject: Email subject line
- Body: Email content (HTML supported)
- Enable/Disable: Turn template on/off
- Use placeholders for dynamic content:
{site_name} – Your site name
{site_url} – Your site URL
{link_name} – Submitted link name
{link_url} – Submitted link URL
{category} – Link category
{submitter_email} – Submitter email
{rejection_reason} – Reason for rejection
{reciprocal_url} – Reciprocal page URL
{admin_email} – Admin email address
- Click Save Template
Testing Email Templates
- Click Send Test Email
- Enter test email address
- Click Send
- Check inbox for test email
Email Settings
Configure SMTP settings for reliable email delivery.
Email Configuration
Navigate to Emails → Settings to configure:
Sender Information
| From Name |
Name displayed in "From" field (e.g., "Link Directory Support") |
| From Email |
Email address used as sender (e.g., noreply@yourdomain.com) |
| Reply-To Email |
Email for recipient replies (optional) |
SMTP Configuration
Recommended for reliable delivery:
| SMTP Host |
Your mail server (e.g., smtp.gmail.com, mail.yourdomain.com) |
| SMTP Port |
587 (TLS) or 465 (SSL) |
| SMTP Username |
Your email address or SMTP username |
| SMTP Password |
Your email password or app-specific password |
| Encryption |
TLS (recommended) or SSL |
Popular SMTP Providers
Gmail/Google Workspace
- Host: smtp.gmail.com
- Port: 587
- Encryption: TLS
- Note: Use App Password if 2FA enabled
SendGrid
- Host: smtp.sendgrid.net
- Port: 587
- Username: apikey
- Password: Your SendGrid API key
Mailgun
- Host: smtp.mailgun.org
- Port: 587
- Username: Your Mailgun SMTP username
- Password: Your Mailgun SMTP password
Testing Email Configuration
- After configuring SMTP settings
- Click Send Test Email
- Enter your email address
- Click Send
- Check inbox for test message
- If not received, check spam folder and SMTP credentials
Tip: Use dedicated SMTP services (SendGrid, Mailgun) for better deliverability than PHP mail() function.
System Settings
Configure quality scoring, auto-rejection rules, and spam detection.
Quality Scoring Settings
Navigate to Settings → Quality Settings:
| Enable Quality Scoring |
Assign quality scores to submissions |
| Minimum Score for Auto-Approval |
Score threshold (0-100) for automatic approval |
| Check Domain Age |
Higher score for older domains |
| Check Page Rank |
Consider domain authority |
| Check Content Length |
Prefer detailed descriptions |
Auto-Rejection Rules
Navigate to Settings → Auto-Rejection:
| Blocked Keywords |
Comma-separated spam keywords to auto-reject |
| Blocked Domains |
Domain blacklist (e.g., spam sites) |
| Reject Shortened URLs |
Block bit.ly, tinyurl.com, etc. |
| Reject IP Addresses |
Block direct IP URLs |
| Minimum Description Length |
Reject submissions with short descriptions |
| Maximum Links in Description |
Reject spammy descriptions with excessive links |
CAPTCHA Settings
Prevent bot submissions:
| Enable CAPTCHA |
Show CAPTCHA on submission form |
| CAPTCHA Type |
Built-in image CAPTCHA or Google reCAPTCHA |
| reCAPTCHA Site Key |
Your Google reCAPTCHA site key (if using reCAPTCHA) |
| reCAPTCHA Secret Key |
Your Google reCAPTCHA secret key |
Reports & Analytics
Track link directory performance with comprehensive reports.
Available Reports
Navigate to Reports to access:
1. Links Overview Report
- Total active links
- Pending submissions
- Rejected links
- Broken reciprocal links
- Growth chart (30 days)
2. Traffic Analytics
- Total link clicks
- Clicks per link
- Most clicked links (Top 10)
- Click trends chart
- Geographic distribution
3. Category Performance
- Links per category
- Category click statistics
- Popular categories chart
- Empty categories
4. Verification Report
- Total verifications run
- Success vs. failure rate
- Common failure reasons
- Verification timeline
5. Submission Report
- Submissions per day/week/month
- Approval rate
- Rejection rate and reasons
- Auto-rejection statistics
6. Quality Report
- Average quality scores
- Distribution by score range
- High quality vs. low quality links
Exporting Reports
All reports can be exported:
- Open desired report
- Click Export button
- Choose format: CSV, Excel, or PDF
- File downloads automatically
Customization
Customize the appearance and branding of your link directory.
Theme Customization
Navigate to Settings → Appearance:
- Site Logo: Upload custom logo (recommended: 200x60px)
- Favicon: Upload favicon (16x16px or 32x32px)
- Primary Color: Main theme color (hex code)
- Secondary Color: Accent color
- Footer Text: Custom footer copyright text
Custom CSS
Add custom styles:
- Navigate to Settings → Custom CSS
- Enter your CSS code
- Click Save
- Changes apply immediately to frontend
Template Files
Advanced users can modify template files directly:
public/css/style.css – Main stylesheet
app/views/ – Template files
app/views/layout.php – Main layout
Warning: Always backup files before making direct edits. Custom modifications may be overwritten during updates.
Security Best Practices
Protect your link directory from spam, abuse, and attacks.
Security Features
- CAPTCHA Protection – Prevent bot submissions
- SQL Injection Prevention – PDO prepared statements
- XSS Protection – Output escaping
- CSRF Protection – Token validation
- Password Hashing – Bcrypt encryption
- Rate Limiting – Prevent spam submissions
Security Recommendations
- Delete install.php after installation
- Use HTTPS – Install SSL certificate
- Strong Admin Password – 12+ characters, mixed case, symbols
- Regular Backups – Backup database and files weekly
- Keep Updated – Install script updates when available
- File Permissions – Set appropriate chmod (755/644)
- Enable CAPTCHA – Reduce spam submissions
- Monitor Logs – Check error logs regularly
Spam Prevention
Configure these settings to minimize spam:
- Enable CAPTCHA on submission form
- Require reciprocal links
- Enable quality scoring
- Configure auto-rejection rules
- Block known spam keywords and domains
- Set minimum description length
- Enable admin approval requirement
Regular Maintenance
- Review pending submissions regularly
- Monitor verification reports
- Check for broken links
- Update categories and content
- Review security logs
- Backup database monthly
Troubleshooting Common Issues
Solutions to common problems you may encounter.
Installation Issues
Issue: "Database Connection Failed"
Solutions:
- Verify database credentials are correct
- Check database host (usually
localhost)
- Ensure database user has all privileges
- Contact hosting provider if database server is down
- Check MySQL service is running
Issue: "PHP Version Not Supported"
Solutions:
- Upgrade PHP to version 8.0 or higher
- Contact hosting provider to enable newer PHP version
- Check PHP version: Create file with
<?php phpinfo(); ?>
Issue: "File Permission Denied"
Solutions:
- Set folders to 755:
chmod 755 public/ config/
- Set writable folders to 777:
chmod 777 public/uploads/ logs/
- Check file ownership (should match web server user)
Admin Panel Issues
Issue: "Cannot Login to Admin Panel"
Solutions:
- Use password reset link on login page
- Check email for reset instructions
- Clear browser cache and cookies
- Try different browser or incognito mode
- Check
logs/error.log for errors
Issue: "500 Internal Server Error"
Solutions:
- Check error logs:
logs/error.log
- Verify .htaccess file exists and is correct
- Check PHP error display:
display_errors = On in php.ini
- Ensure all required PHP extensions are enabled
- Check file permissions
Verification Issues
Issue: "Verification Always Fails"
Solutions:
- Check cURL is enabled:
php -m | grep curl
- Increase verification timeout in settings
- Verify reciprocal URL is accessible
- Check if target site blocks automated requests
- Test manually with browser
Issue: "False Positive - Link Exists But Fails"
Solutions:
- Target site may use JavaScript to load links
- Link may be in iframe or frame
- Site may require authentication/cookies
- Manually mark link as active if confirmed
- Adjust verification settings to be less strict
Cron Job Issues
Issue: "Cron Job Not Running"
Solutions:
- Check cron schedule is correctly configured
- Verify PHP path in cron command:
which php
- Check cron.php file path is absolute
- Review cron logs:
logs/cron.log
- Test manually:
php cron.php
- Check cron emails for error messages
- Use web-based cron as alternative
Issue: "Cron Runs But No Verifications"
Solutions:
- Check "Enable Cron Verification" is turned on
- Verify there are active links to verify
- Check verification frequency settings
- Review cron.log for error messages
Email Issues
Issue: "Emails Not Sending"
Solutions:
- Configure SMTP settings properly
- Test SMTP credentials
- Check spam/junk folder
- Use test email function to diagnose
- Review email logs:
logs/email.log
- Try alternative SMTP provider
- Ensure port 587/465 is not blocked by firewall
Issue: "Emails Go to Spam"
Solutions:
- Use authenticated SMTP (not PHP mail)
- Configure SPF and DKIM records for domain
- Use reputable SMTP service (SendGrid, Mailgun)
- Avoid spam trigger words in email content
- Use consistent "From" email address
Performance Issues
Issue: "Site Loads Slowly"
Solutions:
- Enable caching in settings
- Optimize database (remove old logs)
- Reduce links per page
- Enable PHP OpCache
- Use CDN for static assets
- Upgrade hosting plan if needed
Still Having Issues? Check error logs in logs/ folder for detailed error messages, or contact support with log details.
Frequently Asked Questions
Can I install this on a subdomain?
Yes, you can install the script on any subdomain (e.g., links.yourdomain.com). Simply upload files to the subdomain's public directory and run the installation wizard.
Is the script SEO friendly?
Yes, the script includes clean URLs, meta tags, sitemaps, category optimization, and search engine friendly structure. All links are visible to search engines unless marked noindex.
Can I disable reciprocal link requirement?
Yes, navigate to Settings → General Settings and set "Require Reciprocal Link" to "No". This allows one-way link submissions.
How many links can the script handle?
The script can handle thousands of links efficiently. Performance depends on your server resources. For very large directories (10,000+ links), consider VPS or dedicated hosting.
Can I charge for premium listings?
The script doesn't include payment processing, but you can manually mark links as "featured" after receiving payment through external methods (PayPal, Stripe, etc.).
Is the script multi-language?
The admin panel is in English. The frontend includes language files that can be translated. All text is stored in language files for easy customization.
Can I modify the source code?
Yes, you have full access to all source code. You can modify, customize, and extend the script as needed. We recommend keeping backups before making changes.
How often should verification cron run?
Daily verification is recommended for most directories. High-traffic sites can run every 12 hours, while small directories can run weekly.
What happens if reciprocal link is removed?
The cron job will detect the missing reciprocal link, mark the link as "Broken Reciprocal", hide it from public view, and send notification email to the webmaster.
Can I export link data?
Yes, navigate to Reports and use the Export function to download link data in CSV, Excel, or PDF format.
Does it work with WordPress?
This is a standalone script, not a WordPress plugin. It runs independently and cannot be integrated directly into WordPress sites.
Can I create multiple admin accounts?
The current version supports one admin account. Additional admin accounts can be added with custom development.
Is HTTPS required?
HTTPS is highly recommended for security and SEO, but not technically required. Most hosting providers offer free SSL certificates via Let's Encrypt.
Can I disable CAPTCHA for trusted users?
CAPTCHA applies to all submissions. You can disable it entirely in Settings, but this may increase spam submissions.
How do I backup my link directory?
Backup two things: 1) Database (export via phpMyAdmin), 2) Files (download entire script folder via FTP). Schedule regular automated backups through your hosting control panel.
Support & Updates
Getting Support
If you need assistance with the link exchange script:
Email Support
Send detailed description of your issue including:
- PHP version and hosting environment
- Steps to reproduce the issue
- Screenshots or error messages
- Relevant log files (if applicable)
Response Time: Within 24-48 hours
Documentation
This comprehensive documentation covers:
- Installation and configuration
- Feature usage guides
- Troubleshooting solutions
- Best practices and tips
Search this page (Ctrl+F) for specific topics
Video Tutorials
Watch step-by-step video guides:
- Installation walkthrough
- Configuration tutorial
- Cron job setup guide
- Admin panel overview
Available on our YouTube channel
Before Contacting Support
Please try these steps first:
- Search this documentation for your issue
- Check the Troubleshooting section
- Review FAQ for common questions
- Check error logs:
logs/error.log, logs/cron.log
- Try on a different browser or clear cache
- Verify server meets all requirements
Script Updates
We regularly release updates with:
- Bug fixes and security patches
- New features and improvements
- Performance optimizations
- Compatibility updates
Checking for Updates
- Login to admin panel
- Check dashboard for update notification
- Or visit your customer area for latest version
Applying Updates
Important: Always backup your database and files before updating!
- Download latest version from customer area
- Backup current installation (database + files)
- Read update instructions (included in download)
- Upload new files (overwrite old files)
- Run update script if provided (e.g., update.php)
- Clear cache and test functionality
Customization Services
Need custom features or modifications? We offer:
- Custom feature development
- Theme customization and design
- Third-party API integrations
- Payment gateway integration
- Custom reports and analytics
- Migration from other scripts
Contact us for a quote on custom development work.
Useful Resources
- Changelog: Review all version updates and changes
- Developer Documentation: API and code structure reference
- Community Forum: Connect with other users
- Blog: Tips, tutorials, and best practices
Thank you for choosing our Link Exchange Script! We're committed to providing excellent support and regular updates to ensure your link directory's success.