PDA

View Full Version : Auto-detecting PC/Mobile and then Redirecting



Andres Kello
06-24-2007, 07:44 AM
Create two folders in your server called "mobile" and "pc", each containing the respective versions of your site.
Copy the code below.
Replace the red links with your Mobile and PC destinations.
Save and upload as your index.php



<?php

$mobile_browser = '0';

if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wa p|phone)/i',
strtolower($_SERVER['HTTP_USER_AGENT']))){
$mobile_browser++;
}

if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or
((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))){
$mobile_browser++;
}

$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
$mobile_agents = array(
'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird' ,'blac',
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
'newt','noki','oper','palm','pana','pant','phil',' play','port','prox',
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
'wapr','webc','winw','winw','xda','xda-');

if(in_array($mobile_ua,$mobile_agents)){
$mobile_browser++;
}
if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {
$mobile_browser++;
}
if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {
$mobile_browser=0;
}


if($mobile_browser>0){
header('Location: http://YourSite.mobi/mobile');
} else {
header('Location: http://YourSite.mobi/pc');
}

?>
More info. (http://mobiforge.com/developing/story/lightweight-device-detection-php)



ALTERNATIVES:


Based on User Agent string: Device Detection using Andy Moores Script (http://mobility.mobi/showthread.php?t=10459)
In ASP: A lightweight, one browser detection function in classic ASP (http://nolovelust.com/2008/04/lightweight-mobile-device-dedection.html)

gogo
10-07-2007, 10:35 PM
Just wondering, what if the CSS is set to be different for a "handheld" device - would you then skip WURFL?

eg look at this: http://www.accessifyforum.com/viewtopic.php?p=54286

and http://www.w3.org/TR/REC-CSS2/media.html

coast
10-07-2007, 10:48 PM
Andres, do you have a "for dummies" version of the readmefirst.txt? I'm not a php person so I don't know how to edit the address. Thanks.

Andres Kello
10-08-2007, 06:23 AM
Just wondering, what if the CSS is set to be different for a "handheld" device - would you then skip WURFL?WURFL is used to auto-detect what device your visitor is accessing your site with and then showing them the appropriate version/format for that device. I believe you can't use CSS to do such an auto-detect so you would still require WURFL even if you use a mobile CSS stylesheet for your mobile users.


Andres, do you have a "for dummies" version of the readmefirst.txt? I'm not a php person so I don't know how to edit the address. Thanks.Just open the file with any text-editor (e.g. Notepad) and you'll see where you have to edit the address (it's pretty simple and self-explanatory once you view it in the editor). If you have any more questions, just post here.

GijsZePa
10-08-2007, 07:13 AM
Hi guys,

Since I'm not a professional developer, this is something I struggled with a bit at first. To make it easy for those of you who aren't professional developers either, I've created a WURFL (http://wurfl.sourceforge.net/) zipped file that contains everything you need, and makes it incredibly easy, for your .mobi site to detect whether the visitor is on a PC or a Mobile and to redirect accordingly.

Simply download the WURFL.zip file below, extract the files, open readmefirst.txt, and follow the 5 simple steps. Couldn't be easier!


DOWNLOAD NOW (http://www.mobility.mobi/WURFL.zip)


If you have any problems, post here and we'll sort it out.

Cheers,
Andres

Thanx Andres,

But if I rename the php files to aspx it doesn't work anymore :confused2:

:embarassed::embarassed::embarassed:

Martin

Scandiman
10-08-2007, 03:00 PM
Thanx Andres,

But if I rename the php files to aspx it doesn't work anymore :confused2:

:embarassed::embarassed::embarassed:

MartinTwo different coding languages Martin. That won't work. That's like putting the title "English Dictionary" on a Spanish dictionary. Everyone is confused.

newton
10-08-2007, 05:30 PM
Excellent thanks Andres :) Will try it out later in the week and will be interesting to see the differences between this one and the one I have been using since Oct 06.

Gabriel
01-02-2008, 02:47 AM
Hi u all! As a *very frecuent* user of the wurfl, I'd like to do a clarification about its usage: its not a desktop/mobile detection system, it's a mobile device capabilities identification system. Of course it could do that (a web patch exists ;-), but according to the developers, its on early stages. The major issue is that many (and I mean MANY) devices lie about their "mobility". So u cant rely on wurfl for doing device detection (a header acceptance script in php of the mime types could be more effective, and then, u apply the wurfl, in order to deliver tailored content "on demand") If u believe in the current euristhics of the wurlf, u might have some problems, coz there are around many "lying" user agents, not to mention our main menace in development mobile stuff: transcoding of pages! (specialy bad when when u do "device detection") My two cents! PS: BTW... WURLF *ABSOLUTLY* ROCKS!!! :D (in a world -mobile web- that nobody shares a single dime... theres an alternative that gaves all of us the chance of serving tailored contents "on demand"... how cool is that! :D )

GijsZePa
01-02-2008, 07:41 AM
Two different coding languages Martin. That won't work. That's like putting the title "English Dictionary" on a Spanish dictionary. Everyone is confused.

oh my god...just stumbled upon your reply....well..probably need a sarcasm smiley next time ...

There goes my credibility as developer hahaha...

Martin

Scandiman
01-02-2008, 12:18 PM
oh my god...just stumbled upon your reply....well..probably need a sarcasm smiley next time ...

There goes my credibility as developer hahaha...

Martin
I knew you knew better, but for the benefit of others it needed explaining. :laugh:

texasgamer
01-22-2008, 02:19 AM
Can someone help me out on Wurfl? I know its supposed to be easy but....:hmmmm2:

Editing the Mobile Address and the PC Address:
note: I do not use index.xhtml for my mobi sites, but instead use index.php

Is this the correct way to edit the address for www.namebook.mobi (http://www.namebook.mobi)?:

<?php
require_once('/wurfl/wurfl_config.php');
require_once(WURFL_CLASS_FILE);
$wurflObj = new wurfl_class();
$wurflObj->GetDeviceCapabilitiesFromAgent($_SERVER["HTTP_USER_AGENT"]);
if ( $wurflObj->getDeviceCapability('is_wireless_device') ) {
// Your Mobile Address
header("Location: http://namebook.mobil");
} else {
// Your PC Address
header("Location: http://namebook.mobi");
}
?>

theTrafficMaster
02-26-2008, 11:19 PM
I was able to offer this solution for a company I am currently working for that has both a WAP page, (soon to be a WAP .mobi page), and a .com site. They were looking for a solution for auto redirecting and I knew the answer was posted here in this forum.

Thanks so much for posting this Andres. My hat is off to you. Because of this post I was able to shine today.

We have not implemented the code as of yet, I am a little concerned of Gabriels comment. I was wondering exactly what we have to do with the MIME types?

Julie

Andres Kello
02-27-2008, 12:37 AM
Sorry for the late responses folks, I'm only seeing these posts now.


Hi u all! As a *very frecuent* user of the wurfl, I'd like to do a clarification about its usage: its not a desktop/mobile detection system, it's a mobile device capabilities identification system.Although WURFL was created as a mobile device capabilities identification system, it can also be used to detect PC users and redirect accordingly, which is what I provided in the download. If you (or anyone) know of a better and easier way of doing that, please let us know.


Can someone help me out on Wurfl? I know its supposed to be easy but....:hmmmm2:

Editing the Mobile Address and the PC Address:
note: I do not use index.xhtml for my mobi sites, but instead use index.php

Is this the correct way to edit the address for www.namebook.mobi (http://www.namebook.mobi)?:

<?php
require_once('/wurfl/wurfl_config.php');
require_once(WURFL_CLASS_FILE);
$wurflObj = new wurfl_class();
$wurflObj->GetDeviceCapabilitiesFromAgent($_SERVER["HTTP_USER_AGENT"]);
if ( $wurflObj->getDeviceCapability('is_wireless_device') ) {
// Your Mobile Address
header("Location: http://namebook.mobil");
} else {
// Your PC Address
header("Location: http://namebook.mobi");
}
?>You have edited the addresses correctly, but it seems like you are sending both PC and Mobile users to the same address which defeats the purpose of using WURFL. Ideally, you would want to redirect your PC users to a "pc" subdomain or other PC-optimized version of your site.


We have not implemented the code as of yet, I am a little concerned of Gabriels comment. I was wondering exactly what we have to do with the MIME types?This is not my area of expertise so I'm not sure, but this download will auto-detect PC users and redirect accordingly, so I can confirm that it does indeed work as-is.

asidana
04-22-2008, 01:00 PM
-

texasgamer
04-23-2008, 01:21 AM
Lightweight device-detection in PHP
(A lightweight alternative to using DeviceAtlas or Wurfl)

http://dev.mobi/article/lightweight-device-detection-php

I am going to experiment with this.

texasgamer
05-05-2008, 07:30 AM
I have been pulling my hair out trying to get Wurfl to work on my sites. I am posting this in hopes of helping anyone else out that is running into problems installing Wurfl.

The first problem I ran into was from the instructions in the readmefirst.txt file.



1) Open index.php
2) Edit the Mobile Address and the PC Address.
3) Save and upload all files and directories to the main directory of your server.
4) Assign chmod 777 permission to the "data" directory (and its subdirectories) located within the "wurfl" directory.
5) Run the update_cache.php file from your browser (located at http://yoursite/wurfl/data/update_cache.php).


Following these instructions, I could not get Wurfl to update.
What I eventually figured out (after beating my head for weeks) is that the Number 5 instruction appears to be wrong. I think it should read:
5) Run the update_cache.php file from your browser (located at http://yoursite/wurfl/update_cache.php).

In the file I downloaded from Andre, the update_cache.php file was located in the wurfl folder and not the data folder, so the update would never work correctly. After I change the path, it worked correctly!

After a successful Wurfl update you should see a message like this in your browser:

Parser load time:0.010666131973267
Parsing time:6.2261588573456
Total:1183602354.1569

developmy.mobi
05-05-2008, 06:11 PM
I had to change the paths that are in the script, and change require, to include.

Then it worked for me, but for some phone browsers it would show the web version.. wurfl is of no use to me anymore.

akc
05-05-2008, 07:43 PM
Hello to all,

Since I have a bit of experience doing this, I will share my toughs:

Problem:
DeviceAtlas and WURFL are not the best way of detecting if a browser is Mobile or PC, because all Mobile Phones that use Windows Mobile are using Internet Explorer 7. So when a person is using Internet Explorer 7 from a PC, they are going to be redirected to your Mobile Version of the site, and viceversa.

Solution:
What you can do is to use an alternative way of detecting users through the User Agent string, like Andy Moore does it here: http://www.andymoore.info/php-to-detect-mobile-phones/

Or you can put a link on your site that says if you are using Internet Explorer 7 click here to Go to PC Version and use a given parameter to disable redirection for that user.

If you still want to use WURFL or DeviceAtlas, I will post a tutorial and some easy code in PHP5 for everyone to use.

Hope someone find this usefull, because I know that that problem can be frustrated... :(

Best regards to all,

TheGateKeeper
10-21-2008, 01:41 AM
Would placing this coding work with all kinds of software? I am just a mere begginer in the world of community management systems

setjmp
10-21-2008, 05:11 AM
Would placing this coding work with all kinds of software? I am just a mere begginer in the world of community management systems

"all kinds" is a vast kind. Maybe many many, but unlikely all, hehe.

Actually the base WURFL PHP code and the suggested test file (README) are a bit out of sync. It uses vars that apparently no longer exist in the WURFL class.

WURFL is good for finding a lot of information about the mobile browser.. Now numerous versions of IE look like mobile too, since some mobile devices actually use IE (higher end devices). Funnier yet though, from my experience, FF and Safari are even more likely to look like IE than IE itself (from a WURFL point of view)

Personally I'm working on something with less overhead that still uses the WURFL for it's data (though a subset). For now I just want to know the browser window size and max image width.. And that it's mobile. If mobile, pure XHTML-MP or BASIC/WML1 depending on a fw parameters from the WURFL/UAPROF, and beyond that I don't need to know at what temperature in the freezer sends an SMS to the cell which then explodes due to an overheating freezer :laugh: retaliation for not calling the maytag dude in the first place.... My freezer doesnt have a SNMP MIB or other telemetry, let alone any sort of connection (beyond the 60Hz buz if real close to the motor)...

What's everyone else doing these days to identify the User Agent?

-setjmp

alex5857
05-20-2009, 09:03 PM
Hey, i've tried adding the code to my homepage, but all it does is load up a blank page.

am i doing something wrong?

modfiles
05-21-2009, 12:23 PM
Hey, i've tried adding the code to my homepage, but all it does is load up a blank page.

am i doing something wrong?
try to put the code before the header or at the very top of your code
something like this:


<?php
redirector snippet
?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- rest of your code -->

ifuschini
06-02-2009, 10:29 AM
Hi,
I suggest to look this open source project:

http://www.idelfuschini.it/apache-mobile-filter-v2x.html

this apache filter give you the informations of device capability as variable environment.
So in PHP you can use for example with this syntax:

$_SERVER['AMF_MAX_IMAGE_HEIGHT'];

have the max_image_height capability.

Idel

avinass
11-09-2009, 03:10 PM
Hello guys!!

I a new at mobile world. I was wondering how do wap.getjar.com is being able to show the device that is using the site at the top of the website!! like it detect the phone model as well like Nokia N95 etc..... I want to put same in my mobile site...can any one help me!!!

developmy.mobi
11-09-2009, 03:44 PM
www.deviceatlas.com

avinass
11-09-2009, 04:01 PM
i cudnot understand it clearly there!! can you help me!!

davemanjra
11-23-2009, 11:33 PM
there is a user agent header included with all mobile browsers (native) and some downloadable mobile browsers such as operamini and opera mobile.

Quoting the example based on who we use, the web service from handsetdetection.com detects this agent and then refer to the database to match up the appropriate device.

Once the device is detected, they then return details of the device back to us including location, make, model, screen size, capabilities etc - which we then use in deciding what web content to display back to them.

In actual fact, it is not a complex service - what is critical is in how up-to-date their database is, and how quick the service responds to each request.

Google "handset detection" - all the providers come up...

ifuschini
12-27-2009, 01:19 AM
Hello guys!!

I a new at mobile world. I was wondering how do wap.getjar.com is being able to show the device that is using the site at the top of the website!! like it detect the phone model as well like Nokia N95 etc..... I want to put same in my mobile site...can any one help me!!!

Hi Avinass I think the answer of yor question is "Apache Mobile Filter" the simple way to build a mobile site.

cookie
01-21-2010, 08:37 PM
Hi
I'm new to this site it looks great.
I have installed Auto-detecting PC/Mobile and then Redirecting script works great in firefox, getting an error in internet explorer 8
if($mobile_browser>0){
header(’Location: //metromobile’);(this is line 39)
} else {
header(’Location: //metrofull’);
}
I have deleted http on links
metromobile & metrofull are the 2 folders as instructed
its say syntax error in line 39
any ideas

firemax
01-22-2010, 01:18 AM
Try

if($mobile_browser>0){
header(’Location: metromobile’);
} else {
header(’Location: metrofull’);
}

claydaddy64
02-04-2010, 09:07 PM
Seems no matter HOW I implement the code or the value for:

header(’Location: / mysite / mobile); <This is line 39 referenced below
} else {
header(’Location: / mysite / pc);


I receive the following error message:

Parse error: syntax error, unexpected ':' in / home / customwo / public_html / index.php on line 39 (when accessing the page)

I have tried it with the full URL, including the "w w w" "h t t p://" "mysite..." etc (can't post links as I am a first time poster)
Without it, and all possible variations of it... seems to REALLY not like the ":" for some reason.

For the "index.php" page that we create from the code provided at the VERY first of this post, do there need to be ANYTHING else on that page, or JUST the provided cose ? I am not a php guy so I am really not sure.. (meaning the <html> or <head> or <body> tags or anything else...

I am just at a loss...

Thanks for any assistance you can provide for this noob

dakna
02-04-2010, 09:33 PM
Seems no matter HOW I implement the code or the value for:

header(’Location: / mysite / mobile); <This is line 39 referenced below
} else {
header(’Location: / mysite / pc);


I receive the following error message:

Parse error: syntax error, unexpected ':' in / home / customwo / public_html / index.php on line 39 (when accessing the page)



Did you really used this character : ´ ?

This is not a valid way to enclose a string in PHP, use a single quote like this: ' !

For example:

header('Location: http://mysite/mobile (http://%3Cfont%20color=%22red%22%3Emysite/mobile%3C/font%3E)');

Don't forget to mark the end of the string with another ' , see http://php.net/manual/en/language.types.string.php

claydaddy64
02-04-2010, 09:54 PM
I could only type what I could becuase I am a first time poster. Therefore I am not allowed to create LINKS....

I have no idea what you are saying though...

the reference was to the ':' : symbol...

as in if you go to the page where I have this set up... of which I will have to type out the URL with spaces so I can post... (please remove spaces to see the link) www . customwoodbox . com you will see the error I am getting.

I am not stupid, I just don't understand this stuff and ya'll programmer types don't make stuff real clear.

I was TRYING to copy and paste the code from the ORIGINAL post.. this forum would not LET me post that.

PLEASE look at what I am getting and advise, without saying something demeaning like "did you really use this character?" I am trying... honestly... but the thing is NOT working the way it is posted... at least I can't get it to and I don't seem to be the only one here with the same problem.

claydaddy64
02-04-2010, 09:59 PM
Again, Cannot post "links" due to this being only my 3rd post and the forum requires me to have 10 to do so, so there are spaces... Anywhere you see a space that there should NOT be one, assume there is not...

if($mobile_browser>0){
header(’Location: http : // www . customwoodbox . com / mobile ');
} else {
header(’Location: : http : // www . customwoodbox . com / pc ');
}

With the line of the first URL being "line 39" that is where I get the error... From the site... right after the word "unexpected".... ':'

Parse error: syntax error, unexpected ':' in / home / customwo / public _ html / index . php on line 39 (PLEASE remove all the spaces)

dakna
02-04-2010, 11:34 PM
Again, Cannot post "links" due to this being only my 3rd post and the forum requires me to have 10 to do so, so there are spaces... Anywhere you see a space that there should NOT be one, assume there is not...

if($mobile_browser>0){
header(’Location: http : // www . customwoodbox . com / mobile ');
} else {
header(’Location: : http : // www . customwoodbox . com / pc ');
}

With the line of the first URL being "line 39" that is where I get the error... From the site... right after the word "unexpected".... ':'

Parse error: syntax error, unexpected ':' in / home / customwo / public _ html / index . php on line 39 (PLEASE remove all the spaces)

OK, I see .. just copy and paste, sorry for that programmer slang ...

It is not my script in the first post, but this should work:



if($mobile_browser>0){
header('Location: http://www.customwoodbox.com/mobile');
} else {
header('Location: http://www.customwoodbox.com/pc');
}

claydaddy64
02-04-2010, 11:52 PM
Unfortunately, THAT is exactly what I have in there... word for word, dot for dot, exactly to a tee... and you saw the error message I was getting... It simply does not seem to like the " : " sign... I am befuddled...

claydaddy64
02-04-2010, 11:53 PM
in spite of the EXTRA : : on the second line... that was a typo on my part but is NOT in the code on the page...

dakna
02-05-2010, 12:24 AM
Hm, looks like there is something wrong before line 39. Maybe there is already a string token open.

Please PM me everything inside index.php and I'll have a look.

dakna
02-05-2010, 12:51 AM
Hm, looks like there is something wrong before line 39. Maybe there is already a string token open.

Please PM me everything inside index.php and I'll have a look.

I had a look, and there were wrong quotes in the script. But it was not the fault of claydaddy64 (http://mobility.mobi/member.php?u=7708), because it is wrong in the original code in first post. I notified Andres about that, I guess he will change it when he's got some time...

cookie
02-12-2010, 06:11 PM
finally got it working great programing works perfectly BUT! one little problem. the company I work for use windows server 2003 they are using IE 5 it cannot get past the new index.php any Ideas

JoblessPunk
03-15-2010, 11:26 AM
Hello,
First off I want to say thank you for this, it works wonders.

I'm not having any problems with using this, but I do have one question.
What this does is if you are using a PC it goes to mywebsite.com/home.html and if you are using a mobile device it sends you to m.mywebsite.com.

Is there a way to make it so if it detects you are on a PC then it will show in the URL box or stay on "mywebsite.com" and if it detects a mobile device it will show "m.mywebsite.com" in the URL box. I know that this is nit picking and not really necessary but I would really like it if my URL on the PC is "pretty" and not have a /home.html or something along those lines.

thank you for your help.
-tim
______________________________________________
Edit -
If anyone is interested here is how to do what I'm talking about:


<?php

$mobile_browser = '0';

if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wa p|phone)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
$mobile_browser++;
}

if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {
$mobile_browser++;
}

$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
$mobile_agents = array(
'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird' ,'blac',
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
'newt','noki','oper','palm','pana','pant','phil',' play','port','prox',
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
'wapr','webc','winw','winw','xda','xda-');

if(in_array($mobile_ua,$mobile_agents)) {
$mobile_browser++;
}

if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {
$mobile_browser++;
}

if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {
$mobile_browser=0;
}

else {
if($mobile_browser>0) {
header("Location: YOURWEBSITEHERE"); /* Redirect browser */
exit; /* Make sure that code below does not get executed after redirect. */
}
}

?>

need300z
09-06-2010, 07:05 PM
Thanks, this is exactly the solution i was looking for. Hope it works for Drupal and Joomla.

dkerlee
10-17-2011, 04:37 PM
This is neat code and works great. What if someone wants to view the normal page on their phone?

coast
10-17-2011, 10:08 PM
This is neat code and works great. What if someone wants to view the normal page on their phone?

It's manual but it works: Put a link to the full version of the site in the footer (or header)

andysim
10-28-2011, 02:20 AM
Hi thanks for this code it work find for me. but my problem is problem is how can we return to PC when we are in Mobile.

EX:

<a href="#">View Mobile Site</a>
<a href="#">View Full Site</a>

Thanks in advance for help. :confused2:

Regards,

Andy

jaimin100
12-24-2011, 07:08 AM
i want to show different css to mobile and pc user how it possible??
dont tellme that it is not done .
bcz its ake by some guys

vitti
02-26-2012, 05:47 PM
i have a question:
This code isaffect SEO, isn't it? and how?